cad Bate: a 6
.
modore.
Pieeeeeeecccsccecsssreereeeen
CAD
1750XL
2MB REU
JAZ GMD) 17.50)
Features:
nmodore/ REC controller chip for)
imum) com Patibslr aN
Ase) Size—no |
2 Carinidges)
Jduae consumption than most
a) most
SwiftLink and
complete with utilities and
AS aA
c.0 N fT N T
ISSUE 23
COMMODORE
WORLD
‘THE NEWS MAGAZINE FOR COMMODORE 64 & 120 USERS
http://www.cmdweb.com/ewhome.hitml
Generat MANacer
Charles R. Christianson
°
Eoitor
Doug Cotton
Apvertisine Sates
Charles A, Christianson
(413) 525-0023
5
Grapnic Aerts
Doug Cotton
°
Etectronic Pre-Press & PainTING
Mansir/Holden
5
Cover Design by Doug Cotton
Commodore™ and the respective Commodore product names
are trademarks ot registered trademarks of Commodore, a
division of Tulip Computers. Commodore World Is in no way
atfilated withthe owner of the Commodore logo andtechnology,
Commodore World (ISSN 1078-2516) is published 8 times
annually by Creative Micro Designs, Inc,, 15 Benton Drive,
East Longmeadow MA 01028-0646. Socond-Class Postage
Paid at East Longmeadow MA. (USPS #011-801)
Annual subscription rate is US$29.95 for U.S, addresses,
US$Q5,95 for Canada or Moxico, USS45.95 tor all EC Countries,
andUS$57..95 toall other addresses worldwide. Allsubscription
payments must be provided in U.S. Dollars. Mail subscriptions
to. CW Subscriptions, c/o Creative Micro Designs, Inc., P.O.
Box 646, East Longmeadow MA 01028-0646.
ive Micro
part of this
y roduced by any
means without prior written consent from the publisher. All
programs published in this publication are for the personal use
of the reader, and may not be copied or in any way distributed.
All nghts reserved. Programming examples and routines in this
issue which are presented for educational purposes may be
‘used in the creation of programs by the purchaser of this
‘magazine, provided credit for the routines is clearly presented
in either the program documentation, or the program itsett
Creative Micro Designs, Inc., assumes no responsibility for
errors or omissions in editorial, program listings or advertising
content. Creative Micro Designs, Inc. assumes no liability for
advertisers claims or reliability.
POSTMASTER: Send address changes to: CW Address
Changes, c/o Creative Micro Designs, Inc., P.O. Box 646, East
Longmeadow MA 01028-0646.
° Published June 1998
KHaTuRneSes
& Wheeets—Lavinc More THan A Patch
Bruce Thomas
14 GOFA-A Mobutar Procranmine System For THe Conmopore 64
George Flanagan
Reviews
24 Sortware: Cenmipeve 128 sy Gaevyne R. Gasson
A Look at the Newest Commodore 128 BBS Program
Cotcumns
26 Just For Starters By JASON Compton
Helpful Hints for Handling Disk Drives
30 Graphic INTERPRETATION BY Bruce THOMAS
GEOS: For a Good Time...
32 Carrier Detect By Gaetyne R. Gasson
Telecommunications News & Updates
36 616 Beat By Mark Fetows
Things to Look Out For When Programming the 65816
38 Over Te Eoce ey Jerrrey L. Jones
Commodore Programming in a SuperCPU World
DeEraRTMENTS
From tHe Eoiror
On Tre Horizon
Conmopore Trivia
Cuassirie> Aps
Apverriser’s INDEx
eS
Soon
COMMODORE WORLD
WHEELS ON THE MOVE
In Issue 22's editorial I indicated that two new GEOS
updater's were scheduled to release soon. While we
haven't heard anything more about GEOS MegaPatch
v3.0 yet, Wheels 64 has squealed past the starting line
and is presently burning up the track. It is indeed a
pleasure to see such a powerful new system released at
this point in the history of Commodore computing.
Inside this issue we provide some first impressions of
Wheels 64; however, we'll also be revisiting this
subject in a future issue after looking into technical
aspects of driver speed, compatibility and other issues.
Other things you'll find inside this issue include a
modular programming system for the Commodore 64,
a review of the Centipede BBS program for the
Commodore 128, some tips on dealing with the Y2K
(Year 2000) problem in GEOS, and some situations to
avoid when programming the 65816.
In addition, there’s a rant to programmers about
avoiding the tendancy to become lulled into writing
slow code simply beacuse they have a SuperCPU. I
broke this out from the rest because I think it bears an
editorial comment. While I tend to agree with the
opinion put forth on the matter here by Jeff Jones, 1
think that it fails to strongly point out that such
guidelines needn't be followed when writing programs
for your own use. Many BASIC programmers will find
that the SuperCPU enables them to create programs
which would have otherwise run too slow. However, I
do still encourage anyone interested in machine
language to learn it and take advantage of it when
possible—whether you have a SuperCPU or not.
Doug Cotton
Editor
Issue 23
Orde:
Loadstar #165
Contents
Star Copier '98
Thanks to Bob Markland, our
handy file copier is fixed!
Fission
This mouse-driven card solitaire
is also one of Maurice's best.
Mansion
Using Cameron Kaiser's
WORLD MAKER system, John
invites you into the Charles
Mansion, where no good deed
goes unpunished.
Puzzle Page #165
Number-teasers, word-puzzles
and brain-stumpers a-plenty!
Plus, Knees’ monograph on
mystery mores.
Legal Beagle III
Generate some more legal
documents which you can
customize for your own use.
A Night On The Town
Take a musical trip from the
quaint eateries of the outer city
into the heart of darkness we
call "uptown",
Room - 4k Contest Winner
‘Asmall demo that gives you a
glimpse of what the world of
DOOM is like.
NAME:
SO, YOU THOUGHT YOU COULDN'T AFFORD LOADSTAR?
Now YOU CAN BUY IT EVERY MONTH BY MAIL FOR
LESS THAN IT COST IN THE EIGHTIES ~ BUT PACKED WITH MORE!
(800) 54-3370 Questions
Bill Gates Attacked
By Professional Pie
‘An Interview With
Maurice Randall
LOADSTAR LETTER #54
Wheels/GeoFAX
Sweepstakes:
ty
i ‘Jinformative, and
{authoritative
newsletter available
for the Commodore
64 and 128
(318) 221-8718
Twin Terrors
For one or two players, this
exciting game offers 99 levels
‘of jumping and shooting.
Gershwin Jukebox
Eight memorable tunes by
George Gershwin, including
Rhapsody in Blue (in three
movements), the three
Preludes, and Swanee, made
famous by Al Jolson.
Quicksmith Music
31 songs by musicologist Dave,
all converted into the
QUICKSMITH format by Lee
Novak.
Clip Joint #2
A geoPaint document chock full
of attractive images just ripe for
clipping.
Geos Disk Tools
Ten tools for the Geos
environment that will make your
navigation faster and easier. All
are well explained by our Geos
Man About Town.
Diskovery
Your editor confronts another
crisis, mourns a prolific C-64er,
describes a new product, and
introduces a Euro company.
Jeff's Soapbox
Jeff mediates (or aggravates?)
the battle of the operating
systems.
LC CHECK OR MONEY ORDER TO:
PO Box 30008, SHREVEPORT LA 71130-0008
CALL 1-800-594-3370 AND ORDER THIS MONTH'S LOADSTAR FOR $7.95
OR ORDER THIS MONTH’S LOADSTAR LETTER FOR $2.00
OR GET BOTH FOR $9.95! ALL MAJOR CREDIT CARDS ACCEPTED.
Centsible Software
A list of 50 commercial “in the
box" programs from the world's
largest CBM software store
Modern Printers
Looking for a new printer for
your C-64/128? Read this first!
Master Of Trades
In memory of a dedicated
Commodorean, we present Part
@ One of his autobiography.
eececeseeecerssceceseco sees seeeeoseoee
REACH US ON THE WEB!
HTTP:/ / WWW.LOADSTAR.COM
FENDER@LOADSTAR.COM JUDI@LOADSTAR.COM
JEFF@LOADSTAR.COM
OR FAX YOUR ORDER TO (318) 221-8870
ADDRESS:
Newsletter Naniskad
A compilation of tidbits from
newsletters from all over the
world.
‘All programs tested and known to.
work with your SuperCPU™ and
all CMD devices. Over 200K of
month
documentatior
automatically presented on disk.
#LSCW I
LD send me Loadwarn16s fors79s I] Seinhdsk [1] Stinchadk [DD sent re The Landa Leer #4 for $2.00 LD sent nn or $995
Credit Card Account *
xp. Dato Signature :
Issue 23 3 COMMODORE WORLD
COMMODORE AND COMPUTER INDUSTRY NEws
Wheels 64 Released
Maurice Randall's Click Here Software has recently started
shipping the initial release version of Wheels 64. The
program is a substantial upgrade for existing GEOS 64 v2.0
owners, adding a new interface and completely
revamping the existing GEOS Kernal viaa patch installation.
In addition, Wheels provides extensive support for nearly
all of the major Commodore-compatible peripherals
released over the past few years. Wheels requires a minimum
of a Commodore 64, GEOS 64 v2.0, a GEOS-supported
input device, a 1541 disk drive andan REU or other standard
RAM device. The price for Wheels 64 is $36.00, and it is
available directly from Click Here Software and authorized
dealers. For additional details, see the feature article in this
issue or contact Click Here Software at:
Click Here Software
c/o Maurice Randall
P.O. Box 606
Charlotte MI 48813
Phone: (517) 543-5202 Monday-F'
: arca93@delphi.com
riday 8 am - 6 pm
Commodore Power User Is Back
Aftera long absence, Commodore Power User has returned
to publication. CPU Publisher Tom Gosser has also
announced that distribution of the magazine be bimonthly
as of the #6 1998 Issue. Additional writers have been added
to the mix, and a subscription price increase has also been
announced. The new annual 6-issue subscription rates are
US$20.00 (US addresses), US$30.00 (Can/Mex), and
US$40.00 (EC and others). For additional details, contact:
CPU Magazine
P.O. Box 1817
Shelton, WA 98584
COMMODORE WORLD
Desterm Updated Beta Available
After several weeks of testing and bug fixing, Matthew
Desmond has released an updated Beta version of Desterm
128, a Commodore 128-specific terminal program. In
reality, two updated beta version have been released in the
past few weeks; the first, v3.01, fixed the majority of reported
bugs, but introduced a rather nasty bug of its own. Several
days later a new version 3.02 was released which resolved
the new problem. The new release is still considered to bea
beta test version, so be aware that additional bugs may
exist. For additional information, or to obtain the current
version, visit the Official Desterm web page at:
http://www. ionline.net/~mdesmond/desterm.html
CMD News Items
CMD recently disclosed that all pre-ordered SuperCPU 128
units have been shipped, and that they are also current on
orders for both the SuperCPU 64 and SuperCPU 128. In
addition, prices on many of the SuperCPU/SuperRAM
configurations have been rolled back for a summer sale.
This obviously marks the green light for anyone who has
been waiting until SuperCPU’s were available from stock.
CMD has also discontinued carrying Zoom modems, as
Zoom recently designed-out the Group 3/Class 2 fax
protocol required for GeoFAX compatibility. For the time
being, CMD will be offering US Robotics Sportster 33.6K
bps fax modems instead, which provide Group 3/Class 2.0
capability, and are compliant with GeoFAX requirements.
CMD hasalso announced a temporary ‘bundled’ price for
GEOS 64 v2.0 and Wheels 64. For a limited time, the two
items which normally cost a total of $80.00 will be offered
together at a price of only $65.00. Nearly all other GEOS
applications have also been reduced for the summer.
®
Issue 23
GENTSIBLE JOFPTWARE
We carry America’s Largest Selection of C64/128 Software
We have new shipments of
GeoProgrammi x Supplics, Accessories, Hard- | Team Mate.
Better Working .00| ware and Software arriving | Datamanager . ¢
monthly. C_pecessuriest re} Mapping the 64
C128 Superbase 128. .00| New this Month....... Dust Severs
64 Power Pack. 00] Tach 30 Joystick...$19.95 | chest sheets 00 | / Seas, wb
Tach 5 Joystick....$17.95 | (Call for Choices % nee
Big Bird's Fun House.. .00] Tach 3 Joystick.....$15.95 (C Hortunres_—_)
Money, Busines “‘9o| Icontroller...........+ $24.95
Animal Hotel
$15.95
(Call for choices)
Disk Special
51/2” Floppy Di:
John Elway Quanterback...512.00 | Mindscape
‘Wrath of the Demon, 5. P Pl
Death Knights of Kryn x ‘ower Player
P-15 Surike Eagle. 001 Joysticks...$9.95
7.00 per order. Call or Write for your free C64/128 Catalog listing Hundreds of Commodore items. Geowrite Workshop
Office hours are 1PM to 8PM EST Monday thru Thursday. Info Line:1-616-471-1083 $14.95
Fax Orders:1-616-473-3456 =
Penal eoeeerernncon f # To Order call Toll Free:1-800-640-6211
Web Site: home.sprynet.com/sprynet/cents
Major Credit Cards Accepted
Mail: 8818 College Ave., Berrien Springs, MI 49103 te
The Commodore LASER LOVERS’ DISK!
When you care enough to print the very best!
How many times have you looked at print media and asked, “Why can't
Ido this on my Commodore?” Perhaps now you can! (801 )466-8084
My “LASER LOVERS’ DISK” contains Maurice Randall’s
POSTPRINT which will enable you to send PostScript files from :
geoWrite documents, [have been printing PostScript fromthe Commodore |_| Specializing in NEW and USED Commodore Hardware,
for over six years. This disk contains all the S laser fonts resident in Software and Accessories at excellent prices.
your printer and a few PostScript fonts that aren't, Included is
history of PostScript on the Commodore, an introduction to PostScript Sond $1.00 for a HUGE list of products. Office Hours:
programming specifically designed for Commodore users, and many 1880-030 MST. Visa, MG, Mcoioe iad Maar ey
sample programs which you may include in your own documents.
drive (such as a 1581,
ript laser printer.
You should have GEOS 2.0, a large capaci
RAMLink, or CMD HardDrive), and a PostS
Mail a $25 check to K, Dale Sidebottom P. O. Box 303, New Albany IN
47151-0303, Call (812)944-9132 if you have any questions.
3366 South 2300 East, Salt Lake City, UT 84109
*“ Vintage Computer
Do You Wish You Had More Commodore News? Specializing in Pre-Owned Commodore
C-64 w/PS $19.95
C-128 w/PS $59.95
P.us4 w/PS $18.95
VIC-20 w/PS $18.95
C64c w/PS $49.95
There just aren't enough good Commodore magazines around,
Commodore World being one of the few. Have you considered subscribing
toa good newsletter? The LUCKY REPORT isatwelve-page newsletter
published 11 months of the year for LUCKY, Inc.,a Commodore club that
is almostas old as the 64 itself. The editor, K. Dale Sidebottom, has been
published in many Commodore publications. We invite you to check us
out now! You may send only $5.00 for your first four issues; or, if you
wish, mail in $15.00 foran annual subscription. If youadd $5.00 [$20 total .. AND MORE!
price], you can become a LUCKY member with full access to our 1000+
disk library, etc. ; 61 9-445-8432 :
Make your check out to LUCKY and mail to LUCKY, Inc. Vintage Computers 520 Silverbrook Drive, El Cajon, CA 92019
c/o K. Dale Sidebottom P. O. Box 303, New Albany IN 47151-0303. Email: vintagecomp @ fda.net * Web: www.vintagecomputer.com
Issue 23 5 COMMODORE WORLD
by Jim Brain
Welcome to another edition of Commodore Trivia.
As many of you may know, these trivia questions
and answers have been donated by me to the
Commodore community at large. Unlike other
articles in Commodore World, these trivia
questions have been placed in the public domain.
Task only that the trivia questions remain intact
and unchanged, and that my name and address
appear somewhere so users can contact me, The
trivia is also used fora contest [run on the Internet;
contact me at the included address for more
COMMODORE TRIVIA
information. Because curiosity has the best of me,
lalwayswelcomea note or postcard detailing where
the trivia goes. I also welcome new questions—
provided they come with the answers. Enjoy!
Jim Brain
Brain Innovations, Inc.
10710 Bruhn Ave
Bennington, NE 68007
j.brain @ieee.org
COMMODORE TRIVIA #22 QUESTIONS
$1A0
$1A1
$1A2
$1A3
$1A4
S1A5
SIAG
S1A9
SIAA
S1AB
$1AC
Commodore produced an assembler for the 128 called
HCD65. What does HCD stand for?
Who wrote most of RAM DOS?
What is the name of the first C64 disk copy program? (hint:
it sported a “gas gauge”.)
What was the case color of the original Commodore 64s?
There are at least two ways to enter 64 mode from 128 mode
on a C128: go 64 and sys 65357. They produce the same
result (64 mode), but they differ in at least one noticable
way. How?
What CPU powers the B-128 computer system?
What type of drive me
drives from Commodore?
anisms
ein the D series hard
7 Commodore produced a 16kB RAM expander for the
Commodore VIC-20, What is its model number?
Commodore produced at least one disk drive with an optical
track one sensor, Which drive?
The Commodore PET series used the IEEE bus to
communicate with peripherals. Each peripheral had a
unique ID, What range of IDs are supported by the PET?
Many people have developed Commodore software with
the PAL assembler. What does PAL stand for?
Many people remember Compute’s Gazette, This magazine
is best known for the word processor program it shared
with thousands of subscribers. Name the program?
In some 6502 assemblers, the opcode “bge” is available. It
stands for “branch if greater than or equal to”, What more
common opcode is this opcode referring to?
$1AD If I wanted to do a “bit” (branch if result less than), what
S1AE
6502 opcode would i use?
h Commodore peripheral has a device number, which is
associated with a type of device. 8-15 implied disk drive, 4-
COMMODORE WORLD
SIAF
$1B0
$1B1
$1B2
$1B3
$1B4
$1B5
S1B6
S1B7
S1BB
$1B9
SIBA
SIBB
SIBC
$1BD
SIBE
S1IBF
5 implies printer. These have remained constant from the
PET to the C128. However, one peripheral in the PET was
phased out and its device number was reused. What device
number was reused?
What is the maximum amount of general purpose RAM can
one utilize in a stock C64? (I need an exact number here)
What was COMPUTE!'s original sub title?
After COMPUTE! was absorbed by General Media, how did
the name change?
What Commodore content magazine was named after a
nautical term?
What Commodore content magazine was named
BASIC keyword?
What CPU gets control first when a Commodore 128 is
booted?
What CPU powered the Commodore C900?
How large is the monitor installed in the SX64?
What color scheme does the SX64 boot up into?
What is printed as the stock SX64 boot up screen?
‘The SX64 has a reset switch behind the door that holds the
monitor controls, What is strange about the rest switch?
What common port is not included on the SX64?
In the mid 1980's, a company called Berkeley Softworks
created a graphical user environment for the Commodore
64, What was it called?
Berkeley Softworks eventually changed their name to what?
Most everyone is familiar with MSD disk drives. What does
MSD stand for?
On the NMOS 6502, what two addressing modes have but
one opcode each that can operate in that mode?
How many transfer register opcodes are there on the NMOS.
6502?
after a
Issue 23
r-
COMMODORE TRIVIA #21 ANSWERS
$180
$181
$182
$183
$184
$185
$186
$187
$188
$189
$18A
$18B
$18C
$18D
$18E
$18F
$190
You had better sit down... The 1525 is powered by an Intel
8039 8-bit microcontroller. Actually, thisisn’t so hard to believe,
since Commodore didn't actually develop the printer, but used
a Seikosha GP-100 printer mechanism for the unit, and most
likely contracted Seikosha to develop the firmware.
80. - inches of usable paper
width.
The Juki 6100 printer mechanism.
It is daisy-wheel, but Commodore made other daisy-wheel
printers. What makes it unique is that it is the only such
serial daisy-wheel made for the Commodore line.
The first to offer some kind of DTMF support was the
Commodore 1660 modem. The modem itself didn’t provide
any DTMF support, but included a cable to allow the SID to
output to the phone line. Thus, with the SID's ability to
reproduce DTMF tones, the modem could tone dial. Note
that this was only possible on the C64, which has a SID, The
first model to INCORPORATE DTMF into the modem itself
was the 1670,
By develop, we are referring to actually produced models.
With that definition, the 1581 holds this title. For models
not actually produced, The prototype 1590-D-1 3.5" 1.44
MB model owned by Jack Vander White probably was the
last under development.
If you discount the screen area (512 bytes) and Color RAM
(512 bytes), up to 28159 bytes can used for BASIC programs
and variables (original 3583 bytes and 3 banks of 8192
bytes each), and up to 40448 bytes can be used for ML
programs. (0-32767 minus 512 bytes for screen and 40960-
49151).
COMPUTE!'s Gazette.
The PET Gazette. The PET Gazette was started in April
1978 by Len Lindsey. For the first year, the magazine was
sent out for free to at times 4000 people. In August of 1979,
Small Systems Services, headed by Robert Lock, purchased
the magazine from Len and changed the name to COMPUTE,
The fe changed from PETs to all computer systems at
that time. The first issue of COMPUTE, appeared in the Fall
of 1979, It seems the relationship between Len Lindsay and
Robert Lock was less than ideal, but I refer readers to INFO
#15, page 8 for the scoop.
COMPUTE. changed to COMPUTE! Notice the change?
In the mid 1980's, LOADSTAR distributed the type in
programs for both magazines in the disk magazine.
The CSG65CE02 CPU, clocked at up to 3.54 MHz in the
Commodore 65 (64DX) prototype.
Any byte between 32 and 63 will produce identical results.
chr$(14)
chr$(142)
open 1,0:input#0,a$
The Other Intellect. Evidently, it was the computer the CBM
engineers were working on before the VIC-20 project. The
name sounds like it was dreamed up after the fact. In either
case, this machine might have been the “Color PET” mentioned
in The Home Computer Wars that Chuck Peddle was designing
before the company shifted to the VIC architecture.
‘olumns per inch times
Issue 23
$191
$192
$193
$194
$195
$196
$197
$198
$199
S19A
$19B
$19c
$19D
S19E
S19F
32 and 96 or 160 and 224. Space and Reverse space. 103 and
106 or 101 and 116. Left and right lines.
chr$(8) and chr$(9), respectively.
chr$(8) and chr$(9), respect
chr$(11) and chr$(12), respectively, while in 128 mode.
108.
To put commas in strings read via INPUT. Remember,
INPUT treats a comma (chr$(44)) as a delimiter between
input fields, but chr$(108) does not produce the same effect,
so you could replace 44 with 108 in data written to disk, and
it in with INPUT.
Jim Butterfield supplies us the
“The original PET 2001 suffered from the same kind of
“sereen sparkle” that was later seen in the early
Commodore 64, So the original code would write to
screen memory only during the “refresh” period; that
really slowed down the speed of output to the screen,
By the time the first revised PET came out, the screen
sparkle was solved, and characters were delivered to
the screen with no wait. (The new operating system
also did a massive relocation of system variables, and
used zero page very heavily, to the dismay of home
programmers. When asked about this, Commodore
pointed proudly at the “new, higher speed”. But in fact
it was the screen reorganization that caused 95% of the
improvement).” —Jim
Related to this question is $00C, which implies that the
“sparkle” problem was fixed in the original PETs, so some
people increased the performance of the original PET by
setting the RETRACE line mentioned above to an output,
which fooled the system into thinking the video was
ALWAYS in RETRACE mode.
Borge Christensen and Benedict Lofstedt, although Borge
is given the most credit.
The following is excerpted from The Whole PET Catalog,
page 21:
“PET PROVEN USEFUL” During the 1980 MGM Grand
fire in Las Vegas, Commodore moved its entire
COMDEX ‘80 booth dowstairs to help track rooms,
guests, ete. According to InfoWorld, 7 PETs with OZZ
data-bases (predecessor to SILICON OFFICE) were used
for two straight days. Local police agreed they could
not have kept of the guests as well as the PETs did.
Also, untrained operators quickly learned the system,
In the crisis, PET was both powerful and useable.
Bill Seiler, the able assistant to Chuck Peddle, designed the
unit.
No answer available yet (I can’t find my notes!)
If done immediately prior to an INPUT, the poke will
suppress the question mark prompt.
BASIC 1.0
He is one of the founding fathers of the Toronto PET User's
Group (TPUG), along with Jim Butterfield.
The name “Sphin: chosen because of the way early PETs
resembled the Great Sphinx, the Lion with the head ofa pharoah.
r
answer:
©
*
COMMODORE WORLD
Laying More
Than a
PPaatela...
omeone once said “Themore things change,
the more they stay the same’, Obviously,
that person never changed from using
GEOS V2.00na Commodore 64 to using thenew
Wheels upgrade from Maurice Randall of Click
Here Software.
The first thing that struck me as being
different was the sticker sealing the envelope.
This identified the contents as Wheels V4.0
for the C-64 and reinforced the automotive
theme by listing my VIN (Vehicle Identification
Number). It is not surprising that this theme
runs throughout the entire package as Maurice
runs his own auto repair shop and used to race
cars as well,
The envelope contained a Cerlox-bound
manual (46 full size pages plus an Index and
Appendix), an insert outlining other software
products and planned improvements plus one 5
1/4" disk.
Got a License?
The first thing you need to know, before even
ordering your new set of Wheels, is if your
system is big enough to drive. Wheels is
designed as an upgrade to GEOS V2.0 so you
must have an original boot disk, The minimum
hardware required in addition to your C-64
(or C-128 in 64 mode) includes a 5 1/4" disk
drive (1541 or 1571 preferred), an input device
(joystick or better yet a mouse), a TV or
monitor of some kind and at least a 1700
(128K) RAM Expander. This last item is the
most important as Wheels will not operate
without some form of RAM Expansion.
When GEOS V2.0 arrived in 1988 the
thought of a single user having 16 MBs of
RAM was a pipe dream—on any platform!
Today, with my RAMLink max'd out and my
SuperCPU topped up, | have 32 Megabytes of
usable RAM on my 64,
In 1988 a C-64 ran at 1 MHz. Today we have
options of 1, 4, 8 and even 20 MHz speeds.
Issue 23
In 1988, ifyou were lucky, you could fit 800
KB on a floppy, Today we can put 1,6
Megabytes on a floppy disk using drives still
available new (and 3
you find a used one).
As you can see, things have changed but,
using GEOS V2.0, they nevertheless stayed
the same. The system wasn’t designed with
the flexibility required to handle the hardware
that would be developed. As users, we were
stuck—unable to go where we wanted to with
our new machinery.
Wheels changes all of that. Wheels was
designed from the ground up to handle all of the
high performance accessories the modern day
Commodore user has at his disposal.
Zz
GLOWRITE GEOPANT GEOASSENOLER
GEOLIRER 9RCEAELL OLCPEDUONER DUDDIC?
Your Wheels boot disk will crank over at 1,
4 or 20 MHz with no changes at all (the Flash
8 unit hasn't been tested). Do you have a
populated RAMLink or SCPU? Believe me,
there is nothing quite like seeing 15471 KB
Free in a 16 MB partition, Do you want to use
the Native mode of your FD or HD drives?
Support for this is built-in as well as the use of
subdirectories to organize your storage,
The more your system has, the better ride
you'll get. If you have met, or exceeded, the
minimum requirements it is time to get things
into gear.
8,
2 MBs on an FD-4000 if
I with the
ndle the
Park It
Before driving your new set of Wheels you
need to install it. To follow the theme maybe
this should be ‘in stall’ (as in park your wheels
in your stall and register it as yours).
The disk is copy protected and only one file
is visible in the directory. The ‘Installer’ should
be run after booting with your original GEOS
/2.0 disk. You will be prompted for your name
(for the registration papers) and your original
disk during the install process. Once the
program verifies your boot disk and the
condition of your drive it unpacks all of the
necessary files and creates your original
Wheels Master Disk. Put a write-protect tab
on this disk immediately.
Wheels For The First Time
After running ‘Starter’ (what did you expect it
to be called?) the screen turns blac! the
system loads (use the ‘up-arrow )
shortcut instead of ‘Shift-Run/Stop’, On fast
systems your finger isn’t off the Stop key before
the program loads and you are left staring at a
black screen). After a short while an image of
a wheel spinner fills the screen,
Before the process is finished you will have
to answer a few questions, What type of RAM
do you want the system to use? What boot
options do you want to be applied to your
RAM? What Input Driver do you want to use?
These questions only appear the first time you
boot the system (or when your hardware
changes) and are saved to the disk, which is
why your original should be write protected.
Any real drives numbered 8 to LL are identi
and installed during the boot process a
your input and printer drivers,
Once Wheels is running you will be looking
at the Dashboard. This new System File
replaces the Desktop. The screen displays a
menu across the top and a clock in the top
right corner (flashing ‘set clock’ annoyingly
COMMODORE WORLD
until you do). The only Icons you will see a
down the left side of the screen representing
your mounted storage devices.
The active drive will app
compared to the other icons, Double-Clicking
ona drive icon will pop up a directory window
for the disk/partition identified by the name
under the icon. This is where things really
start to change.
e
reversed
No Roadside Emergencies
The original Wheels disk contains a program
called MakeSysDisk which is used to make
spare boot disks or partitions, as well as more
Master Disks (MakeSysDisk can only be run
from a Master Disk). Keep in mind, though,
that your name and VIN are stamped on every
Boot and Master Disk you make (and visible
in the Dashboard and Toolbox Info boxes).
Once you have made a few spares put your
fe keeping,
original away for
Boot disks can be created on 1541 disks,
1571 single or double-sided disks, 1581 disks
and RAMLink, RAMDrive, FD and HD drives
with 1581 or native mode partitions. Unlike
GEOS V2.0, which had to be in partition #1,
Wheels can boot from any partition on your
CMD devices and any Drive #8-11 (with
exceptions for RAMLinks).
The Dashboard
Maurice really put a lot of effort into
programming this new system, He also put a
lot of thought into the names he used. The
Dashboard may seem like an odd name for a
piece of software but, when you think about
what is constantly in front of you when you're
driving, it makes perfect sense.
Along with your new set of Wheels comes
the need for a new way of thinking. Up until
now, GEOS didn’t allow us to fully utilize our
CMD hardware. While it is easy to create
subdirectories and partitions on these devices,
from BASIC or JiffyDOS, the GEOS system
didn’t recogni ything but standard
Commodore formats.
The Dashboard has easy menu options to
create subdirectories and for navigating
around your directory structure, There is no
chance of mis-using these commands as they
are only active if the selected object isa CMD
partitionable device or native mode partition.
One of the great features of Wheels is the
ability to have four drives active at once. Not
only can you open windows for each drive but
you can copy to/from any window you want
to. The windows are totally resizeable and can
display from 1 to 20 icons at once. If you
COMMODORE WORLD
prefer, a text display is available and
operational also.
Each object on the Dashboard is treated
separately and options work on the selected
item only. Once you have opened a window
ismakes
you can select the driveicon again
it possible to open more than one partition on
a single drive.
Customizable Function Keys provide the
user with full control over window contents.
Do you want to see just the Applications or
Desk Accessories and Fonts? Do you want to
see empty directory slots (try the MODIFY
setting) or a continuous stream of icons?
The Toolbox—4 Wheels Drives
The Toolbox is an application that can be run
by the user at any time. It also runs invisibly
during the boot process to inspect your
hardware and install the proper drivers. While
| previously described four drive operation in
respect to the Dashboard it is really the
Toolbox that makes this possible.
This program takes the place of Configure
allowing you to setup which drives will be
active and what format they will have. CMD
devices can be installed as 1581's (using 1581
disks/partitions) or native mode devices
(accessing 1581 and native mode disks/
partitions) changing the disk icon on the fly to
indicate the selected type
The Toolbox even revitalizes your 1581 drive
with a special driver that allows it to use 800KB.
FD Native mode disks. With these disks (yes,
the 1581 can format them) you will have full
access to subdirectories just as if you had an
FD drive (I have both drives and this is cool).
The Toolbox also detects and uti
accelerator if one is present. No boot disk
customization is required to run with an
accelerator. I can disable my SCPU and boot
from the same RL partition as I do with my
SCPU enabled. Any RAM installed in the
SuperRAM card of a SuperCPU is also
es an
10
automatically detected and used by the system.
The Schnedler TurboMaster accelerator will
power Wheels as well.
Under the Hood
Maurice didn’t just replace the Desktop and
Configure programs. He rewrote the Operating
System Kernel as well.
he changes to the kernel affect the
appearance of the menus in all of your
applications (no dividing line separates the
menuitems). Dialog Boxes have been reworked
to handle the new hardware (when you see a
DISK icon you may be able to access
subdirectories in the current partition), In
addition to pressing the RETURN key to
activate an OK icon you can now press the first
letter to activate some system icons (‘C’ for
cancel or ‘D' for disk),
Running an application from Drive C or D
does not renumber the driv id you have
full access to the data files on the drive you run
the app on (once you select the DRIVE button
youare limited to Drives A and Bas that would
require a rewrite of each application to
change). Don't double-click your data files on
Drive C or D as the apps will load but won't
find your file. Rather, load the Application
and then OPEN your file.
Roadworthy
By now youare likely wondering how all of the
new features of Wheels will affect what you
have been doing with GEOS. I have run the
major BSW apps plus as many auxiliary
programs as time permitted under Wheels
with no ill effects. Desk Accessories seem to
work just as they always did (with special color
help). Programs written with four drive
capabilities function flawlessly. Your old
printer drivers still work under Wheels.
Custom mouse drivers (for the 1351 and
SmartMouse) configure the right button for 1
MHz clicking, After years of using a 4 MHz
TurboMaster I find this helpful. Quite often
the accelerator would have to be manually set
to 1 MHz to allow easy selection ofa pattern in
geoPublish or just the right font size in
geoWrite, With a simple right click J can now
ss what I want easily. Drivers are supplied
where the right button double-clicks and also
ith the buttons reversed for left-handed
users,
Maurice has taken a rather bold move in
light of the present proceedings against
Microsoft. Under the ‘wheels’ menu there is
an option to activate geoShell if it is on your
system. Now, Click Here Software isn’t as big
Issue 23
=X PAN D
YOUR SYSTEM
5B SLOT CARTRIDGE PORT EXPANDERS
The EX2+1 and EX3 Cartridge Port Expanders bring new
expandability to you Commodore 64 or 128. Combine the
use of compatible cartridges. Disable cartridges notin use.
Change the address your computer finds a cartridge at.
Avoid the constant changing of cartridges that puts extra
wear on your cartridge port. The EX3 offers 3 vertical
expansion slots, while the EX2+1 provides 2 vertical slots
64/1541 Repair - $40
*SPECIAL*
C64, 1541, J-S+Sfi. - $99
We carry a full line of hard-
p ware, software & ma,
< Hines, both new & used
z cluding European items.
EveythingforCommodoreComputers Our flat-rate repairs. in-
Sell- Trade + Repair» Buy clude both parts & labor.
1420 County Rd. 914
Burleson, TX 76028
817-295-7658
817-447-6974 - Voice/FAX line
[ALL STORE ITEMS HAVE A 90 DAY WARRANTY. IF, FOR SOME
‘YOU ARE DISSATISFIED IN YOUR PRODUCT, YOU MAY
[RETURN IT FOR REPLACEMENT OR STORE CREDIT ONLY
SORRY, HO REFUNDS.
Call for details. Trade in
your unwanted items.
Catalog - $2.95
Au Muuor Creor
Carps AccerTeo.
We carry a full line of
Amiga Products.
and 1 horizontal slot. Both units offer 7 switchable signals
per slot, address mapping on slot 2, and a reset button.
CALL 1-300-638-3263
$34.00
Plus SH
$39.00
Plus SM
Creative Micro Designs, Inc., P.O. Box 646, East Longmeadow MA 01028
SmartMouse today!
* Three buttons means convenience! If you're a GEOS user, the left
button is configured as single click, the right as a handy double
click and the center button is the TURBO button which doubles the
speed at which the pointer moves across the screen. All three are
fully programmable for other application.
* SmartMouse uses the same custom gate array chip as the
Commodore C-1351 mouse to guarantee 100% compatibility.
+ Switches easily into joystick emulation mode on power-up by
holding down the right button.
RAY MON D
For years, Commodore set the standard with the 1351 mouse. Sure, it was vastly superior to
using old digital input devices like the 1350 mouse or joysticks. But everything can be improved.
Guaranteed 100% 1351-compatible, SmartMouse does everything the C-1351 does and more!
This highly intelligent, three-button input device includes a built-in battery-backed Real-Time
Clock, along with double-click and Turbo features for GEOS. Plus, it comes with a complete set
of utilities for using the clock in GEOS and BASIC applications. Modern ergonomic designs
makes SmartMouse a smooth operator that’s a pleasure to use. So, if you're tired of the slow,
erratic movement of your current input device, make the intelligent choice and pick up a
SmartMouse is the Most Advanced
Mouse Ever Created for the
Commodore 64 and 128 Computers!
COMPUTER
Commopore Software (new and used) plus hardware,
expert repairs, cables, ribbons, blank disks, books
Visa / Master Card / Discover / Amex / Bravo
e-mail raycomp @visi.com
795 Raymond Ave. 612-642-9890 vox
St. Paul, MN 55114 612-642-9891 fax
$49.°5
Plus SM
SmartMouse utilizes the same advanced technology used in today's
powerful 486 and Pentium PC’s, providing you with unparalleled
accuracy and smoothness.
Built-in battery-backed Real-Time Clock automatically sets the GEOS
clock, displays time and can be used in your own programs.
Includes utilities disk and detailed manual explaining the utilities
and programming information.
Attention Lefties! SmartMouse can be altered for left handed use.
Issue 23 1
COMMODORE WORLD
as Microsoft and, as far as 1 know, nobody else
offers a CLI for GEOS, but Maurice may be
asking for trouble down the road. All in all
this integration is a welcome addition and
some new geoShell commands ship with
Wheels,
Potholes
While the overall manual is well written, and
covers a lot of what the system can do, I found
a number of items that were lacking.
While Maurice kept most of the keyboard
shorteuts from the old Desktop some have
changed to accommodate new features (C= M
is now Make Subdir instead of Rename File).
Care must be taken when using shortcuts as
some depend on which Dashboard object is
active. Afteradjusting to the highlighted objec
concept there are still some surprises is st
An important example is the
to‘erase’a file or disk. Thefirst time! used this
1 opened the boot partition on my RAMLink
and then changed the partition in the open
window. While the contents of the window
changed, the name under the icon didn’t (this
facilitates the multi-partition concept
mentioned earlier). The disk menu commands
function on the disk/partition named under
the icon while I was expecting to erase the
highlighted object (in this case, the open
window). Luckily a dialog box opens up asking
for confirmation of the process. This DB
presently only lists the Partition number and
not the name so it would have been easy to
erase my boot partition if! hadn't been paying
attention,
One function of the Toolbox that works
almost too well is removing drives. To set up
your system the way you want you can remove
oradd drives into any available spot. The first
time I tried this I thought | would move them
all around and so removed all of my drives
from the configuration boxes, When I tried to
COMMODORE WORLD
add another drive I was instructed to insert a
disk with the Toolbox on it. Can you all say
REBOOT? Anyhow, this isn’t in the manual so
take it from me - DON’T REMOVE ALL OF
YOUR DRIVES IN THE TOOLBOX!
1581 subdirs are not supported and will
crash the system. A native mode subdir will
have an icon like a folder with CMD marked
onit. A 1581 subdir shows up asa Commodore
64 file—don't try to open it.
As mentioned, the TurboMaster will work
with Wheels but no explanation is provided,
Due to the configuration of this unit it requires
some special handling to work with a RAM
unit. While an adapter was made allowing it
to run under GEOS with a 17xx RAM unit this
won't work under Wheels. Youneed a geoRAM.
or bbgRam unit plus a cartridge port expander
to run Wheels at 4 MHz.
Chapter 7 in the manual covers a number of
applications and utilities that won't work with
Wheels. These include DBGetFiles (Wheels
can handle up to 255 files in the requestor box
so this is no longer needed anyhow),
geoCanvas, geoWizard and most screen savers.
Basically, any program that patches the kernal
or allocates expansion RAM will have trouble
with Wheels and the new manner in which the
hardware is handled.
Included with the package i
include an ashtray and printer icon on the
Dashboard, integrated screen saver, drive
swapping in the Toolbox (the Dashboard
supports drag and drop swapping for all four
drives in the same manner the Desktop did) and
a RESTART program that will maintain the
contents of a RAM disk, The Info Box can't be
viewed at present but the InfoViewV2 DA works
well for now. Also missing is the ability to
automatically set the clock from any detected
time device during bootup; here again various
Auto-execs like CMDTime work just fine.
12
Maurice is working on filling many of these
potholes and plans to have the next release
finished in the fall (as well as Wheels128). If
you purchase Wheels now you will receive the
next release free provided you send in your
registration, The original program comes on
5 1/4" disk only but the upgrade will be
available on 3 1/2" disk also.
Maurice has an excellent track record of
sending out upgrades as evidenced by his
distribution of geoShell and geoPAX and he is
open to suggestions for new or improved
features. Knowing Maurice's track record 1
know these Wheels won't stop rolling until
they are better than the top-of-the-line all-
season radials anywhere. Needless to say, there
will be plenty to discuss in future Graphic
Interpretation columns.
Cruisin’
Theads for Wheels feature a nifty little slogan:
“Let's roll down our windows and go cruisin”.
While it alludes to the freedom the system
offers I don’t like this slogan,
all right—and at any
we want to, but Windows are what Wheels is
all about. In fact, you can open 16 windows at
one time (and from the same drive ifyou want).
Rolling our windows down out of sight is the
last thing we want to do with Wheels,
‘The system offers many enhancements over
GEOS V2.0, Not only in the interface we use
but also in the advanced use of our hardw:
Just as GEOS originally did for the C-64 in
1986, Wheels provides a way to do things that
we couldn't do before. That is why we need
Wheels—to go places. Places we may never
have taken our hardware before, but always
wanted to.
It is for that reason that I propose a new
slogan for this system. Wheels—taking you
where you want to go today.
Issue 23
_forbo Aivempler
oe
0" ius.
Wet Matlin othe et
oe a
1 Bi
pin P-. nate
‘
For more than two Me F
World|has ie ak sers Fa
by providing theYatest he , AZ
information’on sor ‘com jodore
computing), Thi i of leading, —
Ge Randall'and \:
Soniye Keep you in-to
chnol
Please begin my subscription to Commodore World as soon as possible!
Subscriber Information Payment Information
Name
Address:
City
Country:
United States
Europe (EC Only)
Back Issues:
Single issu
issues $4.00 e
Mail payments to:
— A MODULAR PROGRAMMING SYSTE
‘FOR THE COMMODORE Gt _
——. GOFA is a program management system that
allowsa group of BASIC programs (any of which
may include"an ML programvarea) tovoccupy
memory at the same time and interact using
special goto and gosub calls. The programs are
not appended to one another; while each
program begins immediately after the end ofthe
preceding program, all are dealt with seperately
through carful manipulation of BASIC pointers..
Each program (except the final one) must have
~ —-cithera GONora GOXcommandatthestart, or
after any code that the programmer elects to
have executed on start up, such as the loading of
USR vectors or execution of DEF statements.
Programs arenumbered by GOFA in the order
itfinds them in memory and they are referenced
by that number. In all cases, the first program
loaded—prog.0—must be the GOFA operating
system. BASIC programs in any position may be
~edited,andsthe group may be saved as,a-single
program file, as single programs, or in sub-
groups. Machine Language routines may be
stored within.a,BASIC programsthat usually
consists of a single line of BASIC containing a
GOFA command which reserves and maintains
the space for them,
All GOFA programs are loaded using the
normal BASIC LOAD command. Programs
containing non-relocatable ML shouldbe loaded
first, otherwise their position in memory would
be changed by editing any preceding BASIC
programs.
Compatibility
GOFAis offered to enthusiasts who enjoy creating
their own programs. It has a very-fastwedgerat
$0308 and does not use any RAM outside the
BASIC program area.
COMMODORE WORLD
__GOFA began life on a C-64 with an EPYX Fast
Load cartridge and during its development, the
EPYX was replaced’by the amazing SuperCPU
with 4 MB of SuperRAM. There are no
compatibility problem with either of these
devices, but any program or device that changes
the wedge at $0308 would not be compatible.
All BASIC commands operate normally and
-the-system may be used by novice.BASIC
programmers. Any BASIC program may be run
(as the last program) without change except that
the RESTORE command must be used before
reading DATA statements. Each intermediate
program must execute a GON (or GOX)
command that locates the next program and
stores its address,
Commands
The number of commands added to BASIC has
been-kept to a minimum, with a fewaddedfor.
theconvenienceofML programmers. A complete
Theory of Operation
Atthe heart of GOPA operation are the GO#S..,
and GO#T... commands. These place the target
program’s start address in the Start of BASIC
Program Textpointer (locations 43/44) and then
change the contents of the Current BASIC Line
Number variable (locations 57/58) to a value
larger than the maximum normally allowed by
BASIC (63999). The latter is accomplished by
placing a hex value of $FA in location 58, while
the number of the calling program is placed in
Jocation 57. This results in a line numberrofi
64000 plus the program number. The name
GOFA is actually derived from the BASIC
14
keyword GO and the hex value placed into.___
location 57 (FA),
‘The GOSUBor GOTOtoken(asappropriatey~
is then loaded for execution by BASIC in the
usual way. The search for the line number will
begin atthe (new) program startaddress, thatis,
in the destination program.
Program Management...
Using BASIC’s linker (line-chaining routine at
$A533), the GOX (or GON) command locates ___
the ending address of the BASIC part of a
program, adds 2 for the double-zero end, then
calculates the start address of the next program
by adding the number of bytes specified by the
parameter (ifany) following the GOXcommand.
This next address is stored in a table, a zero is
stored at this address minus one, the program
lines are relinked, and the program is executed.
iables are cleared by thesGO,command
(via SYS2102) and when anul programis created
bythe GONor GOXcommands. (As usual, BASIC
clears the,variables and,stack.when any error
ven omitting the ‘?’ from something
‘K(2071) in direct-mode!) An OK
message is given on executing a nul program,
when variables (and functions) are available for
keyboard access. No program can be accessed
untilithas been logged, so each run should begin
at prog.0, usually by using the GO command.
Programs cannot be assigned any arbitrary
program number; programs are numbered in
sequence, and referenced only by that number,
It is recommended that the BASIC utility
program be loaded as Prog.3, so that its routines
may beaccessed by other programs in memory,
as subroutines (using GO3S... commands to call
the desired routines).
Issue 22
Creating Prog.O
Creating Prog.0 is not an easy exercise for the
novice programmer, because the ML is to be
stored very close to the normal start of BASIC. A
simple loader has been provided to make this
task easier—it prints out the required direct
mode operations, so that the user only has to
press [RETURN] when the cursor begins
flashing on the instruction, Before running the
programit should be saved, usinganamesuchas
‘create prog.0’, because ‘prog.0’ will overwrite
the ‘create prog.0' program.
Creating a Suite
Prog.0 contains the GOPA system and begins at
the normal Start of BASIC Program Text(2049).
0 SYS2102:GOx1091
‘This has already been described above. When
loaded as a single program, RUN will produce
OKand READY messages, indicating that Prog.1
may now be entered or loaded.
Prog.1 should be contain the programmer's
frequently used ML routines, GOFA system
extensions, wedges, etc.. Enter the following
BASIC line:
1 GOx1001
Orifno ML storage is required here, enter:
1 GON
Then enter GO. The READY message (and OK
if GO is entered again—see BASIC+ML) will
indicate that the system is ready for Prog.2.
The 1000 bytes suggested, is a reasonable size
for Prog.1. SuperCPU users could locate one
or more direct pages in this area. (BASIC’s
direct page is zero page, but the ‘816 CPU
permits the user to specify other direct pages.)
Short routines for swapping the direct page,
changing data banks (of SuperRAM), block
moves, etc, as well as a host of short C-64
utilities would be stored here, for whenever
required. If less than 1000 bytes are required
initially, leading zeros or spaces should be
used, so that the number may be increased at
a later time without disturbing ML programs
already stored.
Prog.2 should be reserved for longer ML
routines, which may be non-relocatable, but
these would have to be recompiled if the length
of Prog. 1 were changed. The choice of Prog. 2
will depend on the application. Alternatively,
Prog.2 could be an all BASIC program storing
notes and addresses of the ML. programs in
Prog.1.
Issue 23
As no program is required in this position at
this stage, the gofa command ‘gon’ is entered as
a BASIC line. Then enter GO.
is suggested as the BASIC utility area
and will contain ‘def’ statements, information
about the ML programs (such as SYS addresses),
subroutines forsetting up the ML programs (such
as USR function vectors) as well as other
frequently used BASIC subroutines and direct
mode strings,
A short Prog.3 listing has been provided as
a model to illustrate the organization and
content of this program, Routines for
GOFA COMMAND REFERENCE
GOFA COMMANDS FOR BASIC
GO Goes to Prog.0 and executes a normal BASIC RUN. It operates in direct-mode
only, Prog.0 executes a SYS2102, which installs the wedge. This latter call will
recover the system if you have used LOAD “NAME",8,1 to load machine
language into the standard areas; it also recovers all programs that were in
memory at the time ofa reset and clears halt-mode ifissued in direct mode,
GON Goes to the next program and runsit. BASIC's CLR routine is called by GOXin
Prog.0, but not by GONor GOXin the other programs. It operates in run-mode
only. A SYNTAX ERROR is generated if GON is followed by numerals.
GO# Goes to Prog.#(where pris a number 0 thru 9 which represents the program
number) and stops with the READY prompt. The name ofa variable cannot be
used for pr. If Prog. pris not in the table, a BAD SUBSCRIPT ERROR is given.
GO... Goes to Prog.# and executes a GOSUB to the line number specified in the ...
parameter. As with BASIC, if no line number is given then line number 0 is
presumed. The normal BASIC RETURN command returns program execution
to the calling program. See Error Messages for additional information.
GO#T... Goesto Prog,#and executes a GOTOstarting at the line number specified in the
»» parameter. As in BASIC this begins (or continues) a RUNwithout CLR at line
In, (Note: A CLR is always performed first if Prog.0 is the specified program.)
GOH Enters halt-mode and runs the current program, but stops in the next program
with the READY message whenever a GON or GOX commandis executed, The
next program is relinked, but not run. See Halt-Mode.
GOFA COMMANDS FOR ML
GOX### — Thiscommandshould only beused by expert programmers. The ###parameter
represents the number of bytes to be reserved for ML program storage. Users
should not experiment with this command—it controls memory that the
BASIC Editor knows nothing about! This command operatesin run mode only,
and is further described under Program Management. (Note: GON is a safe
form of GOX for non-ML programmers.)
GOZ### This command stores the result of a calculation made as for the GOX###
command, but stores it in lo-byte, high-byt format at locations 2000,2001—
without other action,
Executes a SYS command to the address calculated as for GOZ###. No checks
are made.
15
COMMODORE WORLD
alternative colour schemes would also be a
popular inclusion.
Users will have their own set of subroutines
forProg.3. Asalways, GOis entered after loading,
entering or editinga program. The program runs
ilit reaches the GON command inline 153 of
3. A nul prog.4 is then created to prepare
the system for the user's Prog.4.
Prog.4 will be used by programmers for their
longer BASICsubroutines, orsetsofsubroutines,
such as those used for special formatting and
graphics. Enter:
4 GON
The choice of Prog.4 will depend on the main
program. Enter GOagain to prepare for Prog.5.
Prog.5 will usually be the main program. It
will call subroutinesin the other programs, using
for example GO3S33 to GOSUB33 in Prog.3. If
other programsare to follow, this program must
also have a GON (or GOX) command. The last
program may require a GO#T... command to go
to an earlier program on completion of the
logging sequence. The destination line must be
beyond the program’s GON command to avoid
looping. Alternatively, the GO#T... command
may be given in direct-mode.
The demonstration program in the listing
entitled Prog.5 uses the jiffy clock TI to
intchr$(14)
f fn d(p
nd (2069)
cl
COMMODORE WORLD
measure the time taken to fill the screen with
“X" characters by poking the code (24) directly
into screen memory. The clock indexes 60
times per second, so the change in the count is
divided by 60. The unsightly print output
should be compared with that shown corrected
to three decimal places by the simple formatter
in the utility program, Prog.3.
Run times of the FOR-NEXT loop are very
dependent on the position, in BASIC’s variable
list, of the variables used in it. With “J” and
“A" first in the list, a time of 3.550 is required
by straight BASIC, 3.633 by GOFA and 0.167
by GOFA with the SuperCPU. Because GOFA
checks every NEXT command to ensure its
destination is within the current program, this
is a severe test.
Stop a run with the STOP key after a few lines
of X’s have been written, then try GO3S33, then
GO2and finally LIST. Now enter CONTand you
will see the screen filling continue from where it
was stopped,
Programs 6 to 9 are allowed for if required.
Note the use of the program number as the
number of the first line of each program. This
is a useful identifier when LIST is used after a
BASIC error message, or when using the GOH
command, It is not required by the system.
(See Housekeeping.)
<2) Ul ie
GOV GY
16
Editing
In direct mode, GO#, where # represents the
required (single digit) program number, enters
that program at the READY prompt. The program
may then be listed and edited in the usual way.
A screenful of lines listed from one program
may be transferred to another program, simply
bya‘go#' tothe destination programand pressing
‘return’ on each line (after changing the line
number, ifnecessary), After this edit, ‘go’ (or one
ormore‘goh’ commands) must be used to return
tothe source program for more, In this situation
itis useful to insert a‘stop' command at the start
of the higher numbered program.
A program is deleted by the NEW command,
but this also sets the end address so that all
highernumbered programs arealso unavailable.
This situation can be reversed, but not by
UNNEW. Use reset (POKE 2050,0 will do)
followed by GO,
It is not possible to completely remove a
program by deleting all its lines; a nul program
would be created at which the logging process
would cease. (Inserting a line that includes the
GONcommand will return the highernumbered
programstotheaddresstable.) A program within
a suite may be deleted by appending the next
program to it, so there is then one less program.
Unwanted lines may then be edited out. See
Appending.
wont then343
nts (*00000000" +v$,n&)
nge @ thru 8
%)
sted only
45,46 from
inter but
‘cont!
Issue 23
Loading and Saving
Asthe starting address ofeach program (beyond
programs 0 and 1)is variable, all program loads
must use a secondary address of zero. Loading a
BASIC program with ‘LOAD "name",8,1' will
almost certainly overwrite and crash the system!
The GOcommand must be used after each load,
although a stand-alone program may be RUN
after loading. (See also the GOHcommand.) Itis
not necessary to use NEW after loading an ML
program to the 49152 block, or to the Tape
Buffer using ‘LOAD "name",8,1'. Simply enter
GO.
Thenormal BASIC SA VEcommand saves from
theaddress in locations 43/44 to that in location
45/46; thatis, thecurrent program andallothers
ofhigher number. Entering GOOfollowed by the
usual SAVE "name",drivewill therefore save the
whole suite of programs (including the system
program) as a single file. Loading a BASIC
program will replace the current program and
all higher numbered programs, so these should
be saved first, if not already saved.
The sequence to save, for example, Prog.4
alone (when there are higher numbered
programs) would be: GOS, NEW, GO, GO4,
SAVE "PROG.4",8—each command entered
separately in direct-mode. The NEW command
creates a nul (double zero) Prog.5, that is saved
with Prog.4, but this is usual and not a problem.
However, users should be aware that any
variables or functions created by preceding
programs (before their GON commands), will
corrupt the original Prog.5, during the next
logging sequence. It cannot then be recovered by
UNNEW.
Experienced programmers may save an
intermediate program, without losing either
programs or variables, with the aid of the very
useful ‘goz’ command. See GOFA ML.
Error Messages
GOFA does not medify BASIC’s error routine—
it uses appropriate BASIC error messages.
Unfortunately, these messages print the line
number stored in locations 57/58—the same
copy thatis changed by the GO#...commands to
6400# (where # is the program number).
Therefore any error in statements following a
GO#...command (including a SYNTAX ERROR
following the program number in the command
itself) will be reported as occuring in line 6400+.
For this reason, GOFA stores the line number
and program number whenever it changes the
contents of locations 57/58 in program mode.
To locate the error, a short BASIC routine is
kept in Prog.3, that will print out the program
number and line number of the last GO#...
Issue 23
command that was made in run-mode. This is
accessed by GO3S33 in direct-mode.
When, forexample, GO3S400occursin Prog.5
when there is no line 400 in Prog.3. BASIC gives
the message UNDEF'D STATEMENT IN
64005—indicating that itwasaGOFA command
in Prog.5 that caused the error. Users should
note that the run stopsin Prog.3—where BASIC
was searching for the line—so that to cursor up
totheerror (ifit happens to bestill on the screen)
and edit it will only compound the error.
BASIC Statements
All BASIC statements involving GOTO and
GOSUB commands have their equivalent
GO#T.,.and GO#S...commandsand require the
same or less space in listings. In addition, an /FX
GO#S... command is valid, whereas IF X
JB... is not provided in BASIC (GOTO, GO
TOand GOSUBremain valid). Because the wedge
looks only at the first byte ofa BASIC statement,
both the /Fand ON commands are handled by
GOFA, with THENdirected back to the wedge. A
small speed gain may result from the dedicated
routines.
Users should be particularly careful not to
begin using a FOR-NEXT loop when another,
using the same FOR variable, has not been
concluded. BASIC will use the original FOR
statement with the later NEXT value of the
variable, without any immediate error message.
This error is easy to make when going from one
program to another, because the variables and
stack are shared, To prevent it, use specific
variable names for the FOR variable—such as J3
in prog.3, J5in prog.5, etc...
Whenever a block of BASIC is to be used by
more than one program, it should be placed in a
subroutine where each program may access it
from its own FOR-NEXT loop.
Change to CONT
When GOFA is processing any GO#...command
in direct-mode, it stores the current program
number and all the BASIC continue parameters,
as well as the stack pointer; but only if this has
not already been done, that is if location 2096
(the stored copy of location 62) is clear. The user
is then free to list information, execute
commands and even run subroutines in other
programs for diagnostic, or other purposes.
When CONT is entered, the stored CONT
parameters have priority and are used, the stack
pointer is replaced and location 2096 is cleared.
The CONT token (154) is then loaded for
execution by BASIC. In this way, the original
program that was stopped—whether in the
logging sequence or later—is the one that is
7
continued. (This action may be stopped by
entering POKE 2096,0 before entering CONT.)
Ifa program is to be run again, using a direct-
mode GO#T... command, use POKE 62,0 to
prevent CONT returning to the end of the
previous run, (Stored by BASIC in location 62)
The number of the program executed by the
CONT command appe
warning about FOR
Statements.
s on the screen, See
YVEXT under BASIC
Halt-Mode
The programs may be stepped through the
logging sequence by repeated GOH commands,
butitis bettertouse repeated CONT commands,
To begin in prog.0, enter GOH, then GO, then
use CONT. Because execution stops on the next
GON or GOX command, LIST will list the
program following the number already printed
by CONT.
Halt-mode is cleared when the last program is
reached and also by SYS2102 in direct-mode.
Halt-mode should be cleared before any SAVE
that includes Prog.0, otherwise the system will
begin in halt-mode when next loaded. (POKE
2097,0 may also be used to clear it.)
Direct-Mode Strings
Itisnot possible to use subroutines in Prog.3 for
all a programmer's direct-mode diagnostic
requirements, because the programmer may not
wish tobein Prog.3 when the required operation
is made. The answer to this problem is to have
the required code stored in a string ble.
‘Then, for example, entering ?X$would print the
code for the operation on the screen, ready for
use. Abbreviated command names may be used
in strings.
GOFA ML
Changing the numerals after GOX (or deleting a
BASIC statement containing a GOX###
command) after the command has already been
processed by the GO sequence, will cause—on
the next GO sequence—an address to be
calculated that is not the correct address of the
next program. The system will therefore crash—
unless the program is the last program and the
GOX number was increased.
For Prog.1, simply enter GO1 (and LISTif
required) and then enter NEW. Enter the
changed line and then enter ‘go’. (Prog.2 and
above should first be saved.) ML programs
already stored in Prog.1 will not be disturbed,
provided that the changed line consists of the
same number of bytes. Do not create any
variables between NEWand GO, because they
would overwrite the ML.
COMMODORE WORLD
Prog.2 may bealtered using thesamemethod,
whilea GOX###commandinahighernumbered
program may be deleted if followed by use of the
direct-mode string XS, given at line 123 of prog.3.
A program may be saved, even when it is not
thelast program, by using the direct-modestring
X$ while in the program and then using the
normal BASIC save. Variables must not be
used—usea numeral forthe drivenumber. Then
restore 45/46 using sys2324 to recover all
variables, Fora group of programs, use the GOZ
part of X$in the last program to be saved, then
GO# to the first program to use the rest of XS.
Save the program and restore the vector and
variables as before.
If ML programs for GOPA are compiled with
a double zero beginning, they may be loaded
using the normal BASIC LOAD "name",8 after
changing the 43/44 vector to the required
address. The SYS address will be2 more than the
load address, (The double zero prevents the
linker from corrupting the program.) When
done, GO will replace the 43/44 vector.
Both vector 43/44 and vector 45/46 may be
changed to save an ML program in the $c000
blockusingthenormal BASIC SAVE "name", 8—
being sure to usea numeral forthe drive number.
Using GO will replace both vectors.
DATA
In response to READ commands, BASIC begins
its search for DATA statements at the address
that was stored in locations 65/66 by the CLR
routine or by the RESTORE command. The
search ends when and end of program double
zero is reached, As the CLR routine is used only
in Prog.0, an OUT OF DATA error will result on
attempting to READdata without first executing
the RESTORE command in the program
containing the data, The DATA may be read by
a program other than that containing the DATA
statements, provided the RESTORE command
is executed in the DATA program (by using
RESTORE in a subroutine.)
Housekeeping
When several programs 1 and 2 have been
created, it is useful to give each a file name that
includes a number and to use the same number
as the line number ofits (single) BASIC line. Any
number ending in 1 would be a Prog.1 and any
ending in 2 would be a Prog.2. (Line numbers
large or small, always occupy two bytes.)
When this is done, it is easy to identify which
version of Prog.1 and Prog.2 is present ina suite
of programs loaded as a file. For Prog.3 and
higher, REM statements should be used to label
different versions.
COMMODORE WORLD
When using a TRACE program, it is useful to
have all line numbers ending in the program
number, for example in prog.3 use 3, 13, 23, etc..
This is provided by line numbering and
renumbering programs. Such programs do not
change the destination line numbers of GOFA
commands, so the normal BASIC GOTO and
GOSUB commands should be used within a
program.
Appending
To join two programs, for example, to append
Prog.7 to Prog.6, enter ‘go7’ and ensure its line
numbers are larger than the last line of Prog.6.
Then enter 2/$to print the direct-mode string JS
that was defined in Prog.3. Cursor up to it and
press return to execute the code, It writes two
spaces, one over the end-of-line zeroat the end of
the last line of Prog.6 and the other over the first
of the two end-of-program zeros,
Prog.6 then includes the former Prog.7. After
GOis used, the address of the former Prog.7 will
disappear from the table, with the former Prog.8
becoming Prog.7, etc. The first (lowernumbered)
program must be all BASIC—a program cannot
be appended to a program that has a GOX###
command, (Programs may also be divided.)
Advanced GOFA
In this introduction to the GOFA system,
programs have been loaded in turn and accessed
by GO#S... and GO#T... commands. More
advanced programmers may use the GOX###
commands to create space into which relocatable
MLprogramsandBASIC programs may be loaded
in run-mode. This space need not be saved—use
X$to remove it from memory before saving.
Data statements, in any desired format, may
be generated using BASIC, by storing the
tokenized bytes into space created by a GOX##4
command. The BASIC DATAstatementsare then
revealed as another program by replacing the
GOX### command with a simple GOX or GON
command, (Any numbers may be used as line
links as long as the hi byte is not zero. GOFA will
correctly link them.)
GOFA’s jump to UNDEF'D FUNCTION error
may be changed toa jump to ML code—usually
in Prog.1—where users may define their own
GO... commands.
MetaBASIC
MetaBASIC (COMPUTE!s’ Gazette April 1985)
is a very useful programming aid, popular with
C64 programmers. It is compatible with the
SuperCPU (with JiffyDOS disabled) and after a
simple modification, itis compatiblewith GOFA.
The modification is required for the TRACEand
18
TROFF commands which install and remove a
wedgeat $308—the GOFA wedge position. QUIT.
restores this wedge to the BASIC ‘reset’ position
and therefore also quits GOFA. This is easily
reversed by SYS2115, without loss of variables.
The required modification is made as follows:
SYS64738
£39154,8
BSAVE"METAGOFA" , 36864, 40961
then if in GOFA, enter:
SYS2102:GO
After the READY prompt appears, once again
enter:
Go
The SPEED##function slows the SuperCPU's
turbo mode screen writing, without any
noticeable effect on its processing speed.
SPEED255 is slower than normal BASIC, while
SPEEDOis full turbo speed. Among many useful
commands, the TRA ‘ureisvery instructive
with GOFA—especially if programs are given
line numbers whose last digit is the program
number. (The DUMP command proved faulty
on reading a function name and MONITOR was
not tested.)
Quitting GOFA
The gofa system was designed to enhance the
basic system for the use of all BASIC/ML
programmers, but many useful programs—
such as assemblers and word processors—
must have use ofall the basic program memory
and therefore cannot operate under GOPA,
To quit gofa it is necessary to use a cold start
(SYS64738), power off or a reset button to
remove the wedge.
Important Notes
Never load a program using a secondary address
(ie, LOAD"name",8,1). Always
LOAD"name',8 or equivalent.
After loading a file, the GOcommand should
beused toeffectarestart andensure theintegrity
of the program address table,
Dividing a FOR-NEXT loop—with the FOR
statement in one program using (by accident
or design) the ‘next’ command in another
program—will produce a NEXT WITHOUT
FOR error. Do not go to a FOR-NEXT loop
having the same FOR variable as another that
has not been concluded. This will produce
use
Issue 23
unintended operation and may also produce a
NEXT WITHOUT FOR error.
The GOX###command (where ###represents
‘one or more non-zero numerals) should only be
used by ML programmers who understand the
difficulties involved in entering, changing and
deleting it.
Alwaysuse LISTto checka program’sidentity,
before editing.
Enter GOO before attempting to save (using
the normal BASIC SAVE) a suite of programs as
a single file.
Use the RESTORE command in a program
containing DATA statements.
Recover from a reset with SYS2102:GO. Or
use SYS2102:GOH to begin halt-mode, then use
CONT to step through the logging process to
locatean error there. Do not use UNNEWexcept
in the last program.
Expect an extra run time of about one second
per minute taken by a straight BASIC system.
rem creates prog.® : george flanagan
rem save your work, before you run it
rem because program is destroyed ***
for j=49152t050209: readd:pokej,d:next
printchr$(147):print'press ‘return’ ';
print" on each cursored line :-*
poke214,5:print:q$=chr$ (34)
print’@ sys2102:gox1091
print*k=49152: forj=2100t03157:
print*pOj,pE(k) :kek+l:next
print'rem wait for cursor!"
poke214,1@:print
poke214,13:print *poke2099,@:run*
poke214,16:print"goo"
print*save"q$"prog.0"q$",8
poke214,3:print
poke43,1:poke44,8:new
rem
100 data 0,0,162,0,142,23,8,134,62,32,22
8,8,32,243,8,169,104,141,8,3,169,8
11 data 141,9,3,96,0,250,0,0,201,130,20
8,40, 32,7,12,201, 203,240, 102,201,145
12@ data 240,33,201,154,208,25,76,73,9,1
65,62, 208,3,141,48,8,32,115,0, 201,139
130 data 144,220,240,13,201,142,240,65,1
76,219,56,76,231,167,76,155,11,32,115,0
14@ data 32,158,173,165,97,208,13,160,0,
200,177,122, 208,251,32,251,168,76,174
15@ data 167,32,121,0, 201,137,240, 23,201
,167,240,8,160,0,140,78,8,76,177,11,32
160 data 115,0,176,7,32,160,168,76,174,1
67,168, 208,181,32,115,0,32,88,11,169,0
170 data 141,78,8,32,115,0,176,3,76,211,
9,208,83,141,23,8,166,58, 232,208, 72,32
180 data 228,8,138,32,113,168,76,174,167
,169,1,133,43,141,24,8,169,8,133,44,141
j90 data 25,8,96,166,58,232,208,3,142,49
,8,165,46,197,56,176,9,201,8,144,5,173
200 data 2,8,208,20,169,18,141,1,8,169,8
,141,2,8,173,50,8,133,45,173,51,8,133
210 data 46, 56, 76,174,179,76,8,175,201,1
64,208,6,169,137,56,76,231,167,141,78
220 data 8,201, 78,240, 98,201,91,176,229,
201,88, 240,90,176,106,166,58,201,72
230 data 240,62,76,31,9,165,62,240,35,17
3,48,8,240,35,133,62,173,47,8,133, 61
240 data 173,80,8,133,59,173,81,8, 133,60
,173,46,8,141,23,8,32,173,9,174,79,8
250 data 154,169,0,141,48,8,24,173,23,8,
105,48, 32,210,255, 56,169,154, 76,231,167
260 data 232,208,155,141,49,8,142,48,8,3
2,115,0,208,144,32,142,166,76,174, 167
270 data 32,166,179,174,23,8,208,10,166,
45,142, 50,8,166,46,142,51,8,76,68,10
280 data 10,170,189, 25,8,240,13,133,44,1
89,24,8,133,43,96,162,26,76,55,164,76
290 data 69,178,174, 50,8, 228, 45,208,241,
174,51,8,228,46,208,234,96,32,196,9
300 data 172,23,8,56,233,48,141,23,8,32,
173,9,166,58,224,255,144,34,174,48,8
Issue 23
19
310 data 208,40,166,62,142,48,8,166,61,1
42,47,8,166,60,142,81,8,166,59,142,80,8
320 data 140,46,8,186,142,79,8,176,11,14
2,22,8,166,57,142,21,8,140,20,8,166,58
330 data 32,115,0,208,9,232,208,31,32,14
2,166,76,134,227,201,83,208,8,32,139
340 data 11,169,141,76,231,167,201,84,20
8,6,32,139,11,76,41,9,76,174,179,76,8
350 data 5,76,53,164,32,115,0,8,32,107
»169,32,51,165,165,34,101,20,133,34,165
360 data 35,101,21,133,35,56,165,55,229,
34,170,165,56,229,35,144,219, 168,138
370 data 233,50,152,233,0,144,210,160,1,
174,78,8,224,78,208,5,40,144,195,176,5
380 data 40,224,88,208,4,169,0,145,34,15
2,101,34,133,34,144,2,230,35,224,89
390 data 208,14,165,34,133,20,165,35,133
,21,32,48,225,76,174,167,224,90,208,13
400 data 165,34,141,52,8,165,35,141,53,8
,76,174,167,238,23,8,162,250,154,142,79
410 data 8,173,23,8,10,170,142,78,8,165,
34,133,43,157,24,8,165,35,133,44,157
420 data 25,8,169,0,174,78,8,232,224,24,
176,5,157,25,8,144,246,32,38,11,208,8
430 data 160,1,177,43,240,82,208,37,176,
35,174,78,8,224,20,176,25,32,51,165,32
440 data 142,166,173,49,8,240,11,32,38,1
1,208,3,141,49,8,24,144,62,76,174,167
450 data 32,244,172, 169,0,141, 49,8, 32, 68
,166,165,45,141,50,8,165,46,141,51,8
460 data 208,36,24,165,34,105,2,170,165,
35,105,0,168,56,138,229,45,133,34,152
470 data 229,46,5,34,96,141,49,8,133, 62,
160,106,32,47,241,76,134,227,32,142,166
480 data 166,122,134,61,133,62,208,242,7
6,8,175,208,251,169,255,133,74,32,138
490 data 163,154,201,141,240,5,162,12,76
, 55,164,104, 104,133,57,104,133,58,104
500 data 133,122,104,133,123,165,58,201,
250,208, 10,165,57,141,23,8,32,173,9,169
510 data 0,76,248,168,132,57,169,250,133
,58,172,78,8,240,4,136,32,251,168,96
520 data 32,115,0,32,158,183,160,0,140,7
8,8,201,141, 240,38, 201,137,240, 34,238
530 data 78,8,201,203,208,160,32,115,0,1
76,155, 200,177,122,201,83,240,4,201,84
540 data 208,144,174,78,8,208,6,32,121,0
,76,211,9,72,198,101, 208, 22,174,78,8
550 data 240,6,140,78,8,104,208,234,32,2
51,168,174,78,8,104,56,76, 231,167,200
560 data 177,122,201,48,144,6,201,58,144
,245,176,8,201, 44,240,213, 201,32,240
570 data 235,32,251,168,104,76,174,167,3
2,115,0,208,4,160,0,240,3,32,139,176
580 data 133,73,132,74,32,138,163,240,5,
162,10,76,55,164,154,189,18,1,188,17,1
590 data 133,20,132,21,56,229,43,165,21,
229,44,144,25,173,23,8,105,0,10,170,189
600 data 24,8,229,20,189,25,8,208,4,186,
76,54,173,229,21,176,248,165,21,201,2
610 data 240,242,208,198
COMMODORE WORLD
CMD | HARDWARE - ORDERS: 1-800-638-3265) - SOFTWARE ~ CMD
THE HOT NEW UPGRADE FOR
2000 (600% Sy79.00 SupeCPU ES 129.00
FD RoartanerGieck Opto re O SuberCPU 6a wiSuparRANl SedaaTaaaeSIoSe GEOS 64 IS NOW SHIPPING
Fae ent (e Olsiiaj $8000 SupercPU tes wSupead - SaiaasuaBearae
cece SuperRAM Gard (OMB TEMB) ... $7B9N118199179 If you've been waiting for GEOS to get better, faster and more
(het os Hanus calc a ett CAL MED RCC CES efficient, your wait is over! Click Here Software's Wheels takes
i $200.09 level, with full integrated support for all the latest
Aprotok 3-Way User Port Expandor ‘$30.00 HD-40 (40 MB) 53 $2529 GEOS to the next level, 9 t
Arges User or Extern cae ili '8)"""" $0800 HOSOO, 500+ ME (Spec Eason) $459.00 hardware. Wheels also adds many features not previously available
E-StG Compute! fer nacre: MAD SPS) Stane0 Ho-co00,2GB Spec Eston) $=is00 inGEOS, as wallas some that could only bebadby bung creda
S0bs Cearputar (Fiararntactived wiJ0} 208.00 other utilities and patches. is really going someplace,
C-128 Computers CALL
€128-D Computers (Remanufactured wD) CALL Cup 1750 512K REU ‘$99.00 has the Wheels to get there!
C-£4V64C PowerSupply (New, 1.7 Amp.) 's20.00 EMD rene ano RED ad ‘oping $36 00
C-64/64C RepairablePS (New, 1.7 Amp.) $39.00 RAMUnk Base Model (OMB, No RAMCard) $149.00 now shipping! e
C-6i164G Heavy Duty Repairable PS (New, 434). $59.00 framtina wrintB paMieand (Speen $10.00
120 RepairablePower Supply (Now, 4.3 Amp.) $55.00 RANLnk wAAMB RAMCard (Special) $22900 Minimum requirements for Wheels: GEOS 64 v2.0, 1541 or 1571 disk
A TIVISORLY Power Sopa tow 1 ep Ses09, RAMLink w/1GMB RAMGard (Special) $343.00 drive, mouse or joystick, and 128K or larger RAM expander.
Novaterm
TSATHIISBH/RLy! Power Supay New, 1 Amp.) $25.00 FUAMENK WiHeMB RAMCard (Special) nnn $8.00
GBM 1S4TC Disk Davo New WD) $118.90 Fanti Bator Backup (Optona Sits
SI Disk Divo (Now Wi ‘ . :
CBM 1571 Disk Drive (Remanutactured wiJD) ‘CALL Receiel Cable (HAMLIN 10 190) aS
Pe mee Productivity |
END Exa Pon Canvioge Pon Expander
EMD GeoCabie Pr Cable stctate $28 00$34 00 Bank Svest Writer
CMD Sega-styie Gamepad for C-64/128 $24.95 Cadpak 64 (Abacus)
CMD SmartMouse (1351 Compatible Mouse) $49.95 Cadpak 126 (Abacus)
Fy Gate ack sf S00 Saeiach... 31600 Stare 28 anes “Join he Yolecanimanleaoni Ravelovan..cest
Floppy Disks (28 pack o Basingh cu =
Inn ah ‘Pon Model 1706 $7500 Data anapa 8 (Timowois Join the Telecommunications Revolution... gi
or Cubs Goda . ,
Prasonie Kx 180 ini 0.5 | Bank (8 i ak VOR) on the Information Super Highway TODAY!
Panasone KXP-2009 2¢pin Panter 2 on ol,
Panasons KXP 2190 244 pin Printer 529900 Perel Porte Manajer Abas) 90 © Easy-to-use — novice user configuration | + New faster 80 coumn mades: S80 on
Panasonic KXP-2028 Color Kt et Wer 1 (64) Dig ‘
‘Smattiine C-800 Printer Intertaco 510,00 Pocket Writer 2 (64/128) (Digtal Sol) 365.00 + Now supports UUencode and UUdecode | C-64 (enhanced scrolling w/ REU); and
Pocket Writer 3 (64 or 128) (Digtal Sol) $70.00 andconverts files on diskorin abutter, Also | 25 or 2&line C-128 VDC 80-col. mode.
pets lige le rhea ASCIl > PETSCII and PETSCIIto Unix. | » Use any memory device as a buffer
ee
i
geesesssssss
asad
28
w
" RUN Productivty Pak | or Il (Specty)
be reap $32.93 RUN Super Stator Pak 1541 or 581 + Protocal support: Zmodem up/download, | _incuding: 17xx REU, RAMLInk partton,
‘SEC Check Rogistor 128 resume (crash recovery), streaming to | GeoRAM, C128 VDC, BBGRAM, and
nguages! & Compilers SuperScript 128 (Procison)
BASIC 64 Compiler (Abacus) 17.00! uoeimase 04 Vermont .2/ Grracieont Xmodom-1k; Xmodem-1k-g(to butter); | + New text capture features:Capturo text ons
Ee Ry esther 3 6 Xmodem-CRC; Punter; Kermit; WXmodem. and store in any device; High-speod
Buday 6426 Ascomber So.00 TS 6 wSpeter (uy Bee) « Supports High Speed Interfaces like | ‘fansters direct into memory and now
est Nye $1208 TW Modules (HOU Iiustrator) Turbo232 for speeds up to 230Kbps. retain butter contents with battery/power
‘rciek Con Modem Adapter ecard modem) VT52 in 80 col, Plus Commodore color | * Fished Saeed
Collette Utiitios (Handy Geos Utiities) $19.95 Aprotek Com-Modem Adapter Cable. ‘ ‘aphics and ANSI color. All emulation | load/save files from the buffer and has
Dos Pack Pus $28.00. Commodore 1670 Moder (1200 baud). ian oad ri an integrated serpt compiler.
Dwoeziis Groatest Hits (NewTools2 Stamp Label'28) ..... $3000 Modem (9-25) or Null-Modem Cable (9-9 or 9:25) modules now from one window,
ateWay 64 or 128 (Spacty Version) $29.95 th 7
WroBASe nnn $20.00 Um Spenser 39 éxtps Fashiosom 10900 $29.95 + Simple BBS modo - dan downloading
eon oat $10'005848.00 gr Sporsor Faxmosem w'Turonse & Cabio $198.00 . + Supprts real-time clocks in CMD devices
+ All new user's manual
eaFie 64/128 $40.060545.00
BooMakeBoot (Makes Bostabia coplas} Sizes: Handyecenner $249.00
eee $5.0 Vito Daiiza “comm Flgsea
o9Publt ae 0.00, igtizor x $
GEOS 128 v2.0 5
OSHELL V2.2 (Ci for GEOS) 9 * » Increase Speed Up to 1500% while
ifoct Print LO for GEOS (Laser-like output) m retaining 100% compati
[RUN GEOS Companion
RUN GEOS Power Pak | or I (Specity)
Books Day in the Lite of Prehistoric Man
JitfyMON-64 (ML Monitor) $19.95 RUN Works
buffer; Ymodem batch; Ymodem-g; internal C64 memory.
Bitz! 64 Compiler (Skylos) $33.20 SwinCalc 64 (Timeworks)
Power C (Spinnaker) $19.00 Telecommunications ‘Supports ANSI color/graphies, VT102, and backed RAM devices such as RAMLInk.
FONTPACK Pius $25.00 Novaterm 9.6 (specity 3.5° or 5.25") Now Just * Script language for automatic operations
ooFAX $3995 Scanning & Video (Specify 5.25" or 3.5" disk)
tmational FONTPACK
: lity
Escape Roto
Ca eorce k Engrs : pave Sap Drive ROMs
: gio . :
6128 Computer Alded Desa 0 $19.00
ize BASIC Trang Gude : ;
Commodore 64 Trek and Tiss
Gempler Design & Imoomontain forthe C68
GEOS Programmers Relorence Guise
Graphics Bok for tho G64 '$8.00 Island of the Dragon
Hichikors Guide 10 GEOS Ten00 emtanve cos ee ane
Kdoas tor Uso on Your C68 pote ege
Print Book tor to Cost Kings of the Beach
Papin ECE $8.00 Lords of Conquest
MIDUae Sound Mastrame
Digimaster Ups and | Next
SID Symphony Stereo Cartidgo Ordor Subtotal Ground Day | Day | DayAlr |
ESE CARNE CRE NICE aCOaEL : $0.01 to $19.00 s475 | CALL | CALL | S160"
$20.00 to $29.99 $575 | CALL | CALL
Adventures w/ Fractions (ages 10-14) = =
Expeditons (ages 8-15) $20.00 to $59.99
ro-Roading (390s 3-7) rm
Spating Be9 (ages 8-13) $15.00 Te Break Toons vennone sees:
ho Gtss Computer $15.00 Total Eclipse ation ]
‘Tho Markot Place (a $15.00 Walkorz Linstead ony) \ | oom |
Where in Europe is a $29.00 Warin Middie Earth. “$10.00 | $300.00 to $799.99 100" | $25.00 |
$29.00 Wings of Circo Ty a | cae eae
¢ All Major Credit Cards Accepted « UPS C.0.0. add $5.00 (US only)
Mastercard * Visa * Discover * American Express * Other shipping methods available. Call for details.
Poucies: CMD accepts: Major Credit Cards, Money Orders, COD and Personal Checks,
Personal Checks are held 3 weeks. Customer is responsible lor shipping charges on
Creative Micro Designs, Inc. refused packages. Most items are stock, contact CMD for fim delivery, Returns for
5 [OOS Merchandise credit only within 30 days with prior authorization, Crodits aro toss shiping.
E.0. Box 646 Info: (413) 525-0023 fering. taxes, custo, dos, and a WH restocking charge, Netoures a orosee os
East Longmeadow, MA 01028 Fax: (413) 525-0147. openod sottwaro.Allprices and specifications are subject to change without notice, CMD
Visit our Web Site at: http://www.cmdweb.com/ Business Hours: (Orders) M-F.9AM-5:30PMEST (Tech Support) M-F, 1PM-5:30 PMEST,
C-64 COMPUTERS, KEYBOARDS & CASES
C-64 in Slimline Case (no Power Supply) $49.00
C-64 in Slimline Case (with Power Supply) $69.00
C-64 Keyboards (reconditioned) $29.95
C-64 Slimline Case $10.00
ve SurPenCPuU AcceLeRaTorns
oie SuperCPU 64 $199.00 SuperCPU 128 $259.00
SuperCPU 64 w/0MB SupeRAM $239.00 SuperCPU 128 w/0 MB SureRRAM $299.00
> SuperCPU 64 w/t MB SureRRAM $259.00 SuperCPU 128 w/1 MB SureRRAM $319.00
a SuperCPU 64 w/4 MB SureRRAM $274.00 SuperCPU 128 w/4 MB SupeRRAM $334.00
er | SuperCPU 64w/8 MB SureRRAM $298.00 SuperCPU 128 w/8 MB SureRRAM $358.00
* SuperCPU 64 w/16 MB SurerRAM $338.00 SuperCPU 128 w/16 MB SurerRAM $398.00
HOT DEALS ON GEOS & WHEELS!
Wheels 64 - Just Released! $36.00
GEOS 64 v2.0 $34.00
GEOS 128 v2.0 $39.00
GEOS 64 v2.0 & Wheels 64 Bundle $65.00
GEOS APPLICATIONS ON SALE!
GEOBASIC $10.00 geoProgrammer $40.00
geoCalc 64 $30.00 GEOSCompanion $10.00
geoCalc 128 $35,00 | GEOS Power Pak $10.00
geoChart $19.00 GEOS PowerPak Il $10.00
geoFile 64 $30.00 Font Pack Plus $15.00
geoFile 128 $35.00 _ Int'l Font Pack $15.00
GEOS BONUS SPECIALS
Purchase any GEOS product or Wheels and
Get geoMakeBoot for only $7.95*
Get a CMD 1750XL REU for only $89.00*
Get a 4 MB RAMLink for only $199.00*
Get a 16 MB RAMLink for only $299.00*
*Price is in addition to price of qualifying product.
POWER SUPPLIES
C-64/64C (New stock 9vactA/Svoc 1.7A) $29,
C-64/64C (new 9vacta/Svoc 1.7A REPAIRABLE) $39.
C-64/64C weaw purty (NEW vac 1A/SVDC 4.34 RePalaste) $59.00
C-128 (NEW 9VAC 1A/SVDC 4.34 REPAIRABLE) $55.00
1541-11/1581 (New stock cam) $25.0
1571 (useo BUT THOROUGHLY TESTED) 20%
1541 (useo But THOROUGHLY TESTED) $20.8
You may now reach CMD on the Internet at:
HTTP://WWW.CMDWEB.COM/
HOT SUMMER SAVINGS!
Se
Desk Pack Plus $19.00 jeoPublish $30.00 — 4
9 ery.
~~
CMD Service Center
Reasonable Rates * Quality Work
Computer & Drive Repairs * Reset Switches
Keyboard Cleaning * Device Select Switches
CALL FOR AUTHORIZATION BEFORE SENDING ANY ITEM
TECHNICAL SUPPORT: SUPPORT@CMDWEB.COM »* SALES: SALES@CMDWEB.COM
Ce include shipping charges, and are subject to change without notice. All items subject to availabilty, call before ordering. See our main ad for shipping pric
y
WAREHOUSE
CLEARANCE
SALE
1-800-638-3263
CMD's Warehouse Sale includes many hard-to-find used and (where noted) new
items. In most cases we have only one or two of each item in stock, so be sure to place
your order before your selection has been taken! A minimum order of $20.00 applies
to all Warehouse Sale orders. Shipping charges are not included in the prices shown,
(See our main advertisement elsewhere in this issue for shipping information).
TELEPHONE ORDERS ONLY ON THESE ITEMS
Mailed in orders for non-reserved out-of-stock items wil result in a merchandise credit
No cash refunds. All tems listed here are sold “as-is”, and all sales are final, Prices and
specifications subject to change without notice. Not responsible for typographical errors.
BOOKS
128 Machine Language for Boga w wiDisk
1571 intemal...
The C64 Guido to Data Files and Advanced Basle
The Elementary Commodore 128-Program in Basic? 0
The Elementary Commodor® 64...
1581 DOS Relemoe GUdE sn. The Master Memory Map forthe Commodore 64
40 More Great Flight Simulator ‘Adventures The Official Book Of King’s Quest-Daventry and Beyond 10.00
Algorithms For Personal Computing... Your Commodore 128
‘All About the Commodore 64 Volume 1 Your Commodore 64-4 Guide tothe Commodore
All About The Commodore 64 Volume 2...
Anatomy Of The 1541... BUSINESS:
Assembly Language for Kids C64 w/128 Update Better Working File & Report (new) 1500
Assembly Language For Kids: Commodore 64 Business System: Sales Analysis Moraes 1000
Big Computer Gams... ae Datamanager2 (new) sens 15.00
(C128 Computer Aided Design (ne). Easy Finance 1 5.00
C64 Programmer's Reference Guide .. anes
C=128 Intemals-The Authoritative Insiders Guide...
064/128 Graphics and Sound Programming 2nd Ed.
Easy Finance si
Easy Finance I senge 5.00
Cassette Book For The C=64 And VIC-20 .... Easy Finance IV 5.00
Commodore 128 Programming Secrets Easy Finance V 5.00
‘Commodore 64 Assembly Language . Filer's Cholce-Filing and Record Keeping Sit ‘ vs 8.00
‘Commodore 64 Data Files - A Basic Tutorial 8.00 JANE 128
Commodore 64 Favorite Programs Explained Label Wizard... Ms
Commodore 64 Graphics with COMAL ns: in Load'n'Go Home yanegeenn Series.....
Commodore 64 Trouble Shooting & Repair Guide... Paperback Filer 64.
‘Compute's Beginners Guide to Commodore 64 Sound Paperback Pianner 64
Compute's Commodore 64 Graphics.
Computes Fist Book o C=64 Sound And Graphics.
Computes Fist Book Of Commodore 128
Compute's Machine Language For Beginners
Plannr’s Choice -Personal Planning System...
RUN Productivity Pak I
Secures Analyst 1267Super Disk brary
Silent Butler (Check Writing system)
Compute's Machine Language Routines For the C=E4.... Slent Bute (new)
Compute's Third Book of Commodore 64 Superbase 128
Computer Programming In The Basic Language Switcale 64...
Digital Research CPIM Plus
Fight Simulator Co-P.
Flying On Instruments With Fight Simulator.
Guide to Care, Feeding and Training of C-64
Swiftsheet 128 ,.
SwitfTax 85
The Consultant (Database Mangere
The Electronic Check 00k ....
How To Use The Commodore 64 ..... The ELF System (new)
How To Use The Commodore 64 Computer The Home Accountant
| Speak Basic To My Commodore 64 The Home Banker
Leaming With LOGO... The Home Manager
Machine Language for the Absolute Beginner The Manage’...
Machine Language For The C=64 and other
Osbome 1 User's Reterence Guide .
Programming The Commodore 64-The Definitve Guide.
Sprite Graphics For The Commodore 64
The Negotiation (new) ..
The Sales Edge (new) ..
The Word MachineName Machine (ren :
Valuecale os
COMMODORE WORLD 22
CARTRIDGES
Allin The Color Caves
Alpha Build . ester
Big Bird's Special Deilvery
Bubble Burst...
Cale Result - Advanced fo
COMAL 80
Genoa Music ‘Sys Enhanced Sid Player &Sid Catt...
Easycalc..
Explode V3.0
Facemaker
Freeze Frame - “Transparent Screen Dump...
Frogger VIC 20 Version
HESKI renin
Hop Along Counting
Kids on Keys.
Kindercom
Linking Logic
Mastertype (new)
Pac Man...
Partner 128
Sea Speller .....
Super Explode V5.0
‘Super Snapshot V4 wimanual
Turtle Graphios ll (LOGOtype language).
Warp Speed
CARTRIDGES (No Docs)
Attack Of The Killer CaMA!S..nssn cn BOO
BC's Quest For Tires. . ‘ 8.00
Centipede 8.00
Clowns : 0
Cosmic Lit 0
Ducks Ahoy 8.00
Frogger. 8.00
BIR ersennoinmiiniansininiaiionnionnannsenaal OCD
Hop Along Counting ..sssnnnioinnnn 8,00
Intemational Soccer.
Kindercomy
Linking Logic
Magic Desk |
Memory Manor
Number Tub)
Issue 23
6.00 1351 Mouse Complete with Box...
1764 RAM Expansion Unit wimanual and
6 Slot Cartridge Port Expander for VIC 20
Aprospand-66 ..
‘Commodore 1750 RAM Expansion Unit W/Manual .
Koala Pad w/manual..
Light Pen -no documentation
Magic Voice Speech Module
Micro Stutfer Printer Butter
MicroWorld MW-302C Printer Interface
Paint-N-Stetch | wiLighipen ..
Panasonic CCTV Camera
PPI BBU wiBattery Pak ,P/S, Disk & Manual ..
RIS.T Inc ComTalker 64-Text to Speech Synthesi
‘Smart One 2400X Modem w/Swiftink & Cable
‘The Connection - Parallel Printer Interface
Used SlimLine cases for Commodore 64
VIC-1011A RS232C Terminal Type Interface Car,
Kings of the Beach (new) fi
Kung Fu II-Sticks of Death (new) . 600 MAGAZINES
DISK UTILITY ae Ahoy - Jan-Dec87, Jan-Dec88 (No May), Jan89 ..
1541/1571 Drive Alignment Compute -12 Issues Nov-Dec92, Jan-Oct93
‘Computes Gazette Disks Feb-Dec
Transactor Apr89, Jun89, Aug89
‘Twin Cities 128 Issues 20-34
annals SOFTWARE
batsem Poe si
Computer Diet-The Scarborough System (nen).
CPIM Kit For The Commodore 126 ..
foyshop =
Warewithall (Maced: Patty Paper Pak) (nei)
WriteriFile Pak 1541 ...ononss
PROGRAMMING
GEOBASIC (new)...
Hesware - Graphics Bast...
Simon's Base...
‘SYSRES Program Manipulation System
Wee in the Europe is Carmen San Diego (new)
Whee in the Word is Carmen San Diego (new)
Issue 23 23 COMMODORE WORLD
[Sify FT) Wy /A)iRyE)
IN REVIEW
Centipede 128 BBS; $69.95 +s/h; Adam
Fanello/Bugsoft, 4822 Larwin Ave., Cypress, CA
90630-3515; Nature Reserve BBS 714-828-7296;
adamf@acm.org: http://www. bugsoftware.com.
Some Commodore BBS packages are legendary.
Color64, C-Net, and Image have been established
overtheyearsasdominatingforcesintheCommodore
BBS community. In looking over these systems, it's
always been clear that they have a long history (ten
years!) of author and sysop-created add-ons and
modifications (known “mods” in BBS lingo).
Centipede by Adam Fanello is a new BBS package for
the C128 that although new, has a rich history. In
development since 1992, it started as “V128", an
upgradeto Colour64v7.3xfortheC128. Unlike V128,
however, Centipedeis a completely new BBS package
that incorporates similar features as Color64, with
updated and modernised amenities without 10 years
of updates to contend with.
Centipedecomeswitha71 pagemanualinapocket-
folder, convenient for holding the BBS disk(s) and
updated printouts of text files. A BBS program can be
one of the most complicated things you can set-up on
acomputer, regardless of platform, and I consider the
documentation fora BBS program to beas important
as the software itself. Without good documentation,
a new Sysop can easily become lost or discouraged
and it’s no fun wading through 1000's of text files to
find information about how to set some things up.
Instead of jumping directly into the software,
Centipede’s manual begins with a brief history of the
of BBS package and a glossary for terms and phrases
that may be unfamiliar,
‘The manual features one of the most important
aspects of any BBS: the planning and designing stage.
This is essential (not only to running a BBS, but to
organising a BBS software manual) because without
careful consideration the first time around, a sysop
can spend great deal of time RE-organising the BBS
to suit his or her needs AFTER installing the BBS
software. By covering the planning stage of setting up
a BBS, Centipede’s manual guides the new Sysop and
helps avoid headaches down the track.
Another aspect covered in-depth in the manual is
the type of “Storage Units” (disk drives, hard drives,
RAM devices, etc) that will be used to run the BBS.
Some BBS packages require the Sysop to set up their
BBS storage devices in a particular manner, even to
the point that directories must be in certain locations
COMMODORE WORLD
CENTIPEDE BBS
onahard drive, orhaveaspecificnaming convention.
Centipede takes a broader approach and allows the
Sysop todecidethesethings,andgivenenoughstorage
space, all BBS files can bein the same location. One of
Centipede's key features is its ability to use nearly any
type of Commodore storage unit available including
Commodore disk drives (even the 1542 dual drive),
CMD storage units (RAMLink, HD hard drive, and
FD drives) IEEE units, ICT Data Chief, ICT Mini Chief,
thet. Kernal hard drives, RAM Expansion Units,and
multiplexed systems. Because many of these devices
have differing methodsofsending DOS commandsto
accessit, themanualcovershowtotell the BBS software
where to find files on each particular devices. It also
covers general information about how much space
each unit can hold, and any obvious negative things a
Sysop may need to know about.
Naturally, a BBS usesa modem to receiveand send
datatoorfrom the outside world. Inthe“modernage”
ofCommodoretelecommunications, it'sessential that
the BBS be backward-compatible with older modems
and that it allow Sysops to use current modems and
interfaces as well. Itallows modem speeds from 1200
bps up through the range of the Turbo232 cartridge
(115,200bps). Centipede works with Commodore-
compatiblemodems such asthe Commodore 1670 or
Aprotek modems, and other modems using either a
User Port or Cartridge Port interface (including the
SwiftLink or Turbo232).
As Centipede works with several devices that can
use either the User or Cartridge port, the manual also
covers additional items that may be required such as
acartridge port adaptor ora C128 Adaptor Board for
the Lt. Kernal hard drive.
Setting Up
After reading the manual away from the computer a
few days before setting up the software, I had a fairly
reasonable idea of the type of BBS I wanted to set up:
asingle user BBS system so that I could participate in
the BBS networks that Centipede connects with and
communicate with other Commodore sysops. If you
don‘thavemuchin thewayofCommodoresupportin
your area, setting up a single-person BBS and
networking with other systems ative way to get
support. I allowed myself two days to set up the BBS,
and was really pleased that it only took an afternoon
to have it up and running with the default Centipede
system structure. One of the unique things about
Centipedeisthatitallows Sysopsto set up their BBS so
24
that it has the look and feel of any type of BBS you
want. Add-ons included with the BBS software allow
you to change the structure so the commands and
menu structures are similar to a Color64 or Image
BBS. You can also customise the BBS to suit your own
preferences,
documented.
As my system is only intended for personal use, I
didn’t need to set up games or file transfer areas, sol
didn’t concentrate on those aspects of Centipede. 1
noted, however, that it has several games available
and utilities to convert Color64 and V128 games and
other add-ons. The documentation discusses several
ways the Sysop can approach designing and
implementing file transfer areas.
and the utilities to do so are well
User Features
Having a BBS that’s full featured and easy to use from
the Sysop point of view is important, but it’s just as
important that it be easy for the general public to
navigate and use. Having never accessed a Centipede
BBS, lexpectedtohave problems “navigating” through
the BBS asa user since I'm not familiar withit, but this
didn’t happen. The menus were easy to find,
understand and navigate. Features that stood out in
thisarea include the ability to define message areas to
read, which is stored in the User's information file.
Fullscreen and line editors, that can be accessed from
each other, find and replace while editing, and the
ability to upload text files to messages.. For file
transfers, you can “tag” or select files using a full
screen file selector. Centipede currently accesses with
ComLink and Net64 networks, and access to the
CommNet network is in Beta testing, Email (private
messages) can be sent to individuals on the local BBS
as well as to users on any networked BBS systems.
There's very littleabout Centipede that I didn'tlike.
It’s obvious that the author is experienced with
Commodore BBS'sandhemanagedtocreateasystem
that incorporates the best while avoiding many ofthe
pitfalls of other systems. My only complaints are that
itaccesses devices 8-15, instead of 8-30, and when the
sysop exits the BBS, it doesn’t reset the computer.
User documentation for the BBS would be a nice
addition, but because the default Centipede system is
soeasy to navigate, itisn’t necessary. It's easy to set up
and use, and that's what will make this BBS software
package legendary.
-Gaelyne R. Gasson
,
Issue 23
MEETING 64/128 USERS
THROUGH THE MAIL
C=
NO USER'S GROUP?
USER'S GROUP FADING?
Join our world wide group
for answers to your burning
questions about C=64/128
COMMODORE MAILINK
Contact; Tom Adams, (President)
4427 39TH ST
BRENTWOOD MD 20722-1022
tomadams@sysnet.net
GEOCABLE Il
Parallel Print Cable
The Most Advanced Parallel Print Cable Ever!
¢Uses Standard Cable = * Faster Output
Equipped with a female DB-25 _Parallel printing offers up to a
cable connector to allow use of | 40% increase in output speed.
standard 'PC’ printer cables. * GEOS Drivers Included
* Switchable Pass-thru Includes GEOS drivers plus
Allows connection of printerand © useful GEOS utilities like
other user port peripherals such MacAttack |I, WronglsWrite, and
as modems without conflicts. GEOS CONVERT.
GEOCABLE-II (6 ft.) ONLY $29.00 GeoCabie itis compatibie with GEOS, Portect
GEOCABLE-II(15 ft.) ONLY $34.00 Print LO. Action-Replay MK VI, Superbase,
Shipping: US $5,00, Canada $7.00. Superscript. Paperclp Il and all software that
Foreign $25.00. Supports user port parallel printing
Creative Micro Designs, Inc.
PO. Box 646 Orders: 800-638-3263
East Longmeadow, MA 01028 Info: 413-525-0023
Issue 23
The Internet for Commodore C64/128 Users
2nd Edition
by Gaelyne R. Gasson
ISBN: 0-646-32207-9
The only C= 64/128 Internet reference guide, this 296 page manual takes
you through hardware and software needed, how to get online and what you
can do once you're there. It covers Email, World Wide Web, FTP, IRC,
Telnet, Newsgroups, Commodore files, archives and much more.
ONLY $29.95 US + $7.00 shipping via Economy Airmail
Visa, Mastercard, Amex and personal checks welcome.
VideoCam Services
90 Hilliers Rd, Reynella 5161, Sth Australia
Phone: +61 8 8322-2716 Email: videocam@ videocam.net.au
Fax: — +61 8 8387-5810 WWW: hup://videocam.net.au
Also available from Loadstar, Item #900920
Commodore World Back Issues
cw Commodore World Issue 1 CW12 Commodore World Issue 12
cw2 Commodore World issue 2 CW13, Commodore World Issue 13
cw3 Commodore World Issue 3. CW14 Commodore World Issuc 14
cw4 Commodore World Issue 4 CW15. Commodore World Issue 15
cws Commodore World Issue 5 CW16 — Commodore World Issue 16
cws Commodore World Issue 6 = CW17 Commodore World Issue 17
cw7 Commodore World Issue 7 CW18 — Commodore World Issue 18
cws Commodore World Issue8 CW19 — Commodore World Issue 19
cws Commodore World Issue9 CW20 — Commodore World Issue 20
CW10 — Commodore World Issue 10 CW21 Commodore World Issue 21
cwit Commodore World Issue 11 CW22 Commodore World Issue 22
Shipping: U.S. and Canada $2.00 for first issu, plus
$1,00 per addtional issues.; Foreign $5.00 per issue.
TO ORDER CALL 1-800-638-3263
UPGRADE YOUR COMMODOR'
Refurbished Hardware
(24-2400 Baud (64/128)
Usor Switch
Convert-A-Com
New CMD/J.P, PBM. sccnananiee
JittyDOS CE4/SX64 'Sy:
JitfyDOS 128/1280 ‘sy Srass
428 Kernal $57.95 64 Kernal $47.95
Additional JitfyDOS Drive ROM $32.95
RAMLink Bs, $209.95 chw OMB $259.95
ow 1 MB
084s $229.95 Euscard-| $59.95
‘5 $44.95 1S30C2N $24.95
Miscellaneous
Printorintortaces $49.95+ Ral Time Clock (Optional) Add $24.95
Epyx Fastload Cartridge $34.95 FD-2000 $239.95,
Super Snapshot v4 9.95 NEW Super Snapshot v5.22 $74.95
Super Grafix Jt. $38.95 1750 Superclone REUS12K $169.95
Ask For Anything! We May Havo Itt
Build your own 1581 disk drive!
Just add any PC 3.5 inch drive!
Kit Includes:
* Easy to follow instructions -
* Case ciw Logic board
* External 1581/1541-Il power supply
* Serial cable to chain into your system
+ Expert Technical Support
‘= 90 Day Warranty through us
* Optional JiffyDOS ROM for only $32.95 more
Instant 1581 Kit/3.5 inch DSDD Bulk Disks/Replacement Parts
Instant 1581 Kit... . $49.95
1581/1541-II Power Supply only $24.95
1581 Logic Board only $19.95
1581 Outer Case only ..... vos $12.95,
OPTIONAL 1581 JIFFYDOS DRIVE ROM $32.95
Bulk 50 pack 3.5 inch DSDD diskettes .............. $15.00
J.P. PBM Products By Mail
‘Box# 60515, N. Sheridan Mall P.O.
Downsview, Ont. Canada M3L 1B0
7%GST, Ontario +8% PST
, $100-$199=8%,
‘Send CDN Funds/20% USA Exchange
15 day Warranty On Refurbished Hawr.
Allow 4-8 weeks for dolivery
Catalogue Disk (64 Format) — $2
$200-$499-7.5%, $500+=6%, USA=15%)
Tax-Canada +
Shipping-S0-S25-S4, $26-S:
25 COMMODORE WORLD
Just For Starters
HELPFUL HINTS FOR HANDLING DISK DRIVES
1 come not to bury floppy drives, nor to praise
them, but to try to make your life with them a
little easier.
In this column, we've recently discussed all
the little add-ons you might want for your
system to make your drives faster and more
productive. But there are other tips and tricks
to keep in mind that don't require any
additional hardware.
Mystery Errors
One of the most frustrating crashes you can
encounter as a Commodore user isa disk drive
error in the middle of a game or application.
In virtually all games and many productivity
programs, it’s not possible to check the type of
disk error from the program itself, and not
possible to exit to BASIC. You can reset or
turn off your computer to get out of the crash,
but doing that will reset the disk drive, and
you'll never know what the red blinking was
all about. Ifonly you could see what that error
was, you might be able to determine if there
may bea physical error on the disk, a missing
file you might beable to retrieve froma backup,
or something else.
In general, when you want to check the error
channel from BASIC, you can either use the
short type-in program found in your drive
manual, or one of many utility cartridges or
ROM enhancements with a built-in DOS
wedge. Alternately, ifyou have multiple drives
but no utility cartridge, you can load a DOS
COMMODORE WORLD
wedge such as the one found on the 1541/
1571 Test Disk on the drive which is not
displaying the error.
One way to find out what error has occurred
ifthe program doesn’t make any allowances is
with a powerful freeze cartridge which can
channel disk commands from the freeze menu.
The Action Replay fits this category, but has
become somewhat difficult to find. If you do
have access to one, you can use the monitor or
the disk tools to quickly check the error.
Another freez tridge, the Final Cartridge
IIL, will make an exit to BASIC without cycling
the disk drives, so the error status will remain
and you can check it then,
But for the rest of the world, the solution
requires a little more effort. When I first
26
learned of it, | had the same reaction you'll
probably have: “Isn't that a bad idea?” But I
am assured from some of the highest
authorities around that what we are about to
do is safe. Because resetting (or physically
turning off and on) the Commodore causes
the disk drives to spin and reset their error
status (the blinking will stop and the error will
be forgotten), we need to make sure the disk
drive doesn’t know the computer is resetting.
The solution is simple and inelegant—remove
the cable connecting the computer and disk
drive while you reboot! I would recommend
removing the disk drive end. So, when a pesky
error shows up, pull out the cable from the
drive, turn your Commodore off and then on
(or hit the reset button on a 128), then plug
the cable back into the drive and check the
error!
Are You There?
Included here isa short little type-in program
you can use to poll the chain of disk drives
connected to the machine.
1@ for is8 to 3@
2® openi5,i,15:closel5
30 if st=@ then print
;dv;"is present"
40 next
"device"
When you run this program, you'll see a list of
device numbers for all of the serial bus devices
which are connected—at least those which
Issue 23
WW
thout a disk dir
difficult
to get along in the world. Keep yours
happy... and vo
Commodore that much more.”
are functional enough to return a certain
command code to the computer.
Why might you find this useful? For one
thing, if you're having some trouble with a
multi-drive chain, you can use this to make
sure that every drive is responding and that
each of the device numbers you are expecting
to see appear. Disk drive device numbers start
at8 (for somewhat arcane reasons—you might
think 1 would be more logical, but at the time
the decision was made, tape drives were much
less expensive so it was thought they would be
used extensively, hence the 1 designation for
tapes.) Depending on what sort of drive you're
using, they can range up to 11, 15, or 30. Each
drive needs a unique number. The most basic
drives, the 1541 and 1571, range up to 11.
These either have small DIP switches on the
back to select the number (new style) or must
be modified internally (old style) to make the
change. So, youcan use this program to ensure
that each drive on the chain shows up once—
if you're short a drive, you should recheck all
of your cabling, power, and device number
selection and then try again.
It could also be used as a quick method to
test the functionality ofa large supply of disk
drives. It's not uncommon for an eagle-eyed
Commodore user to come across a large cache
Issue 23
"il en
of disused or unwanted equipment, likea stack
of floppy drives a school no longer needs. The
condition of the equipment might be suspect,
however. Ifyou can assign the drives different
numbers, hook them all up, and run this little
program, you can at least verify that
somebody's home inside the drive. Of course,
if they've been dropped, drop-kicked, or
otherwise abused, there may be physical
problems (like the alignment of the drive head)
that won't show up in this simple test.
Mass Extermination
Sometimes, you'll want to format alot of disks
at once. Some other 8-bit users like to make
fun of Commodore computers because the disk
formatting command from BASIC is relatively
more convoluted than theirs—and they do
have something ofa point. Any old DOS wedge
speeds the process considerably. Or, you can
use a special format utility program, such as
the one we've provided here. The EZFormat
program will allow you to format disks in any
drive you have connected to your computer,
as many times as you want, with a simple
keypress.
There are really two format commands on
the Commodore. One cleans the entire disk
thoroughly and places a new name and two-
letter ID code on the disk. (The ID shows up
on the right hand of the first line of your
directory listing, before the“2A” common with
1541 disks.) The second format only wipes the
record of the files on the disk and changes the
name, leaving the ID intact. All of the data is
really still on the disk, but now the drive won't
be aware of it and will blissfully put your new
data over the old. When formatting a disk for
the very first time, you must do a thorough,
name plus ID format. For example, if you're
using fresh blank disks or disks previously in
use on another platform, you will need to do
the more complete format before using them
27
joy us
ag your
for the first time. After that, you can feel free
to use the quick version. If, however, you
suspect a disk might have a physical flaw after
you've been using it for a time on your
computer and you want to use that disk again,
it's best to doa full format—that way, if there
areany errors on the disk, you'll know about it
in the formatting process and can file the disk
inthe appropriate disposal facility, rather than
losing your valuable files later on.
EZFormat will allow you to format whatever
disk is in any powered drive with a simple
menu choice. You can hit “Y” to format the
disk in the device named, “N" to continue on
to the next device, or “Q” to exit the program.
EZFormat only performs “full” formats. After
entering the name you will be prompted for an
ID code. If you do not want to enter your own
name and/or ID code, just press the RETURN
key at the promts and the program will
randomly create one for you. EZFormat can
be very helpful ifyou’re preparing a large batch
of disks for use—say, you're planning to make
a backup, or will be downloading a lot of files
very shortly.
Other Hints
Disk errors are often caused by contaminated
read/write head. Check your local Radio
Shack, and you should be able to find a head
cleaning kit made specifically for disk drives.
These are like the head cleaning kits for video
COMMODORE WORLD
or audio tape decks, but come with a disk
instead of a tape.
Not being able to read disks can also be
caused by head alignment problems. One easy
way to spot this is if you're able to format,
write and read new disks, while all of your
COMMODORE WO
older disks turn up disk errors or cause the
drive head to bang a lot. If you have this
problem, the only proper cure is to have the
drive serviced. You might be tempted to just
buy a second-hand drive instead, since they
can often be had for less than it costs to get the
alignment... but be aware that there's no
guarantee that the used drive you buy will
have proper alignment either.
Having too many devices attached to the
serial bus or leaving devices attached and
turned off can cause bus loading problems.
Any drive you have attached should be turned
on when the computer is in use, and should
have a unique device number. Not following
this advice could create problems—bad loads
that result in getting Syntax Errors when trying
to run a program, or complete lockups of the
serial bus when attempting to access drives. A
bad serial cable can also cause similar
problems,
Don't place your disk drives immediately
next to your monitor, and also keep serial
cables as far away from your monitor as is
possible. Monitors emit a lot of Radio
Frequency (RF) noise into the surrounding
area, and this can be easily picked up by
nearby cables or components inside your
disk drives.
To extend the life of your disk drives, make
sure they are always well-ventilated. Try not
to stack two large drives right on top of the
other, for example, particularly those with an
integrated power supply (such as the 1541,
1541C, and 1571). The drive most prone to
heat troubles tends to be the 1541 with the
spring-loaded push door, so be particularly
cautious around those models.
Since good disk-notchers (used to enable
writing to the flip side of floppies on 1541
drives) aren't in very ready supply anymore
(as most of the world doesn’t use that style of
disk any longer), any regular old hand paper
hole punch will do the trick quite nicely.
Gota “pinched” disk, where the disk sleeve
isbinding the disk and keepingit from rotating
freely? If you're careful, you can cut open the
faulty sleeve with an Xacto knife and place the
media ina different sleeve. You probably don’t
want to keep using a disk this way, but it
makes a good temporary means for copying
the disk’s contents.
Withouta disk drive, it’s very difficult to get
along in the world. Keep yours happy—and
make sure it's keeping you happy—and you'll
enjoy using your Commodore that much more.
Jason Compton is a freelance writer and
Editor of Amiga Report, the online news
resource for Commodore Amiga users. Jason
can be contacted via Email at
jason@cmdweb.com.
CHECKSUM
Commodore World’s Program Entry Checking Program
and Tips on Entering Programs from this Magazine
CHECKSUMisa progi
the magazine, It assigns a numeric:
m that proofreads your typing when youente
thevalues ofthe lineyou typed and displays the sum. (Checksum, therefore, means mean “perform the function explained within.
that you need to press the space bar 22 times, Don't type the braces (you can't, of
ksum won't tell youifyoumissaline course, because therearenocurly bracesin the Commodorecharacterset). Hereare
at yourself.) Checksum runs "in the background” when some other common examples:
thatit checks yourtyping by summing the cha
typed the charactersin the proper order. (Che
of code entirely, so verify
you type in lines of program code. Whenever you type a line and press RETURN,
Checksum will display a value. Compare that value to the value published next to
the line of code in the magazine. If the numbers match, you've typed the line
ple.
acters.) It also verifies that you have
correctly,
Typing in CHECKSUM
I
RE
save it. In fact, save it a few times while you're typing, just to be safe. (This is good ready to run your program, right? Not quite.
{2 CRSR DN}
{CTRL i}
{CMDR t)
{CLEAR/HOME} hold down the SHIFT key and press the CLR-HOME
tap the cursor down key twice,
hold the CONTOL key and press the I key.
hold down the COMMODORE ke
, type in Checksum carefully from the listing on this page. Be sure to press Continue typing in your program, saving often and eh
TURN afterevery line toenteritinto memory, Onceyouhayetypedtheprogram, — with the onein the magazine, until you've finished the listing, Phew! So now you're
listingfrom Special Key Combinations
value to each character that you type, adds up — Asyoutype, you may be confused the first time you see curly braces {)
hese bra
For example, (22 SPAC
and press the T key.
ing each checksum value
Second, deactivate
advice whenever you typeina program. usually change the name each time I save; _ Checksum by typing SYS followed by 49152 for the C-64 or 3328 for the C-128, Now
forexample
sure that you'
you've typed. If you make errors when typing in Checksum, a test run of Checksum
will tell you which line is incorrect. (This safety feature works only in the Checksum
and doesnot apply to any other listingsin the magazine.) Whenever
you find a typing error (in any program listing), fix it, press RETURN to enter the
change, save the program again and try another run. Repeat this processas often as
necessary. Important tip: Don’t get discouraged if the program won't run. Be
patient. Be thorough. It will work eventually. You'll know your Checksum is ready
when you see the line:
TO TOGGLE ON OR OFF,
Entering Programs Using CHECKSUM
When you're ready to type in your first listing from the magazine, load and run
cksum, Make anote ofthe number that is displayed on the screen (49152 forthe
-64; 3328 for the C-128). To activate and deactivate Checksum, type SYS followed
by that number, then press RETURN. You need to have Checksumactive whenever
you're typing in a listing. Checksum must be deactivated, however, when you run
the new program. The next step is typing in a new program listings it appears in
the magazine,
As you begin, you'll notice that to the left of the start of each line is a number.
Don't type this number in: It’s simply the Checksum value, Stop typing at the end
of the program line and press RETURN, If you've typed the line correctly, the
number displayed on the screen will mateh the Checksum value. If the numbers
don't match, you've made a mistake, Check the line carefully, make your changes
and press RETURN. The computer won't know you've made a change unless you
press RETURN on the changed line to enter it. A few type-in hints: The Checksum
does not verify blank spaces in the program lines unless they are within quotation
marks, because adding or omitting such spaces will not affect the operation of the
program. The exception to thisis hexadecimal Data statements, These are the Data
statements, such as this one, that don’t have commas:
100 DA 1234567890 67890*1234
67890*12345678901234567890*
6789012345
Instatements such as these, you must have one space between the word DATA and
the numbers that follow, Checksum will not catch that error,
Checksuml, Checksum2,andsoon.)Double-checkyourwork, making youcanrun. Don'tbediscouragedif youstill getan error. It happens, Use Checksum
e typed in everylineand that you've pressed RETURNaftereveryline faithfully. Be patient. Be thorough. It will work eventually.
a
CHECKSUM
for j=1 to 1
print"you
rem do not change these data sta
data 120,162, 24,160,13,173,4
08,4, 162,13,160,67,14
3,88,96,32,13,67,152,72,169,697
data
data
data
32,
3,201, 24, 884
4,3, 140,903
5,104,168, 1448
104,168, 96,1289
240,255,169,18
Issue 23 29
COMMODORE WORLD
Graphic Interpretation
Time. Something we all have in equal
amounts no matter what our social or
financial standing is. Time is one of
our great constants. Every day, for
every person on earth, is 24 hours
long. Every year is 365.25 days. There
isno escaping time. You may last from
January to December without new
clothes or a new car, but you need a
new calendar every year.
For some of us, time is more
constant than for others. To see ifyou
are one of these people, load GEOS
and take a look at the top right corner
of the Desktop. Does your clock say
07/06/88 01:00 PM (thisis the default
setting in GEOS 64 V2.0)? If it does
you are definitely one of the
Chronologically Challenged (C.C.)
and need to pay attention to the
information in this article. If your
clock says something different—good
for you, but read on anyway as you
may discover some interesting ways
to handle your time.
COMMODORE WORLD
dy Bruce Thomas
GEOS; FOR A GOOD TIME...
2K or 2 8's... Which Is The
Problem?
Every time we turn around these days
it seems like there is someone else
pointing out some new angle on the
infamous Y2K problem. This
situation will come toa head ina little
over a year when computer systems.
have to deal with dates in two
centuries.
For GEOS users the Year 2000
situation is not too serious. Only a
30
limited number of GEOS applications
will be affected by this. The Desktop
Clock only displays the last two digits
in the year as does the File INFO box.
Apatch for the Calendar program was
published in Commodore World #10
and is available on the CMD web site.
GeoWrite and GeoPublish will need
to be fixed so that the DATE function
will print the proper century (like the
Calendar, only two bytes should need
to be changed).
The real problem for GEOS users is
not Y2K but Y88 as indicated by the
C.C. users clock. GEOS stamps the
date and time on every file you create.
You can view this information by
opening the File Info box (highlight
the file and choose INFO from the
FILE menu or press COMMODORE-
Q) or by choosing the VIEW menu
and then the BY DATE option. To
avoid the Y88 problem you must make
sure your clock is set when you boot
GEOS.
Issue 23
For GEOS users the Year 2000
aber of GEC
serious. Only
will be afie
Tick Tock, Tick Talk
Having the date and time of
modification associated with your
files is a fantastic help. Unless you use
avery descriptive naming convention
on your files it would otherwise be
difficult to tell which file is the most
recent one. Setting the GEOS clock is
not something that all users do, but
everyone should.
Early versions of GEOS made
forgetting about the clock easy. This
was because there was no clock on the
Desktop. Once V2.0 arrived and the
clock stared out at youit became easier
to set, but you still had to remember
to set it. There are many ways to do
this—some better than others.
For starters you can simply click on
the clock with your input device and
then enter the date and time. If you
like menus and want to use two clicks
to set the clock you can choose the
SET CLOCK option under the
OPTIONS menu. If either of these
options aren't simple enough for you
there is a Desk Accessory in GEOS
that lets you set the time and date
among other things.
Not only can you set the DATE and
TIME with the Preference Manager
but you can also customize your
mouse cursor and screen colors. Click
the Date or Time box and enter the
new values. Make sure you press
RETURN prior to moving your
pointer as the new values will be lost
if you don't. Before Auto-Exec files
were introduced in V2.0 customized
fake input drivers were used to load
the Preference Manager during the
Issue 23
eted...”
boot process so we could set the date
and time.
A Done Deal
With the new Auto-Exec files in V2.0
there came a flurry of small files to
ensure your clock was set. These files,
when placed on your boot disk, would
prompt you in some way to enter the
time and date. Using one of these
programs would ensure you didn’t
suffer from the Y88 problem. But
which one to use?
I must admit, I tried a bunch of
them. I finally settled on a 2K file by
Rick Koch called AutoClock V1.5
(dated 4/1/91 12:00 AM). What set
this one apart from all of the rest was
one nifty feature that it has, plus it
works in GEOS 128 also.
AutoClock V1.5 saves the Date and
Time that you enter. The next time
you boot GEOS you can see when you
booted it last as you set the time for
your new session. For those of us who
use GEOS every day this is not a big
deal, but if you are a casual user you
may want to know.
But I Don’t Want To Set My
Clock!
Fine. And that is the way I like it too.
Let's face it, we're basically lazy. That's
why we use computers. Let the
machine do the work for us. Check
my spelling, balance my budget,
calculate my taxes, set my clock (!?).
In keeping with the tradition of
GEOS some people early on figured a
way to do things and others have
improved on that. There were some
31
tuation is not too
applications
clock units produced that plugged
into your joystick port (with a pass-
through connector for your mouse)
and GEOS would read the time and
set the Desktop clock during the boot
process. There are also plans available
if you want to build your own clock
unit (SmartWatch) and GEOS
programs to access it.
Nowadays you can still get a clock
unit that plugs into your joystick port.
This one, however, doesn't have a
pass-through connector because it is
already a mouse. The CMD
SmartMouse improved on the old
clock and the mouse at the same time
by adding a third mouse button for
improved functionality.
If you are happy with your present
input device and don’t want to buy a
SmartMouse then maybe you need a
new disk drive or mass storage device.
Yes, RAMLink and the CMD FD-2000
3.5" floppy drive can both be ordered
with an optional internal clock
module (I have one in my FD). The
HD Series Hard Drives come standard
with an internal clock. All four of the
CMD units mentioned here come with
handy Auto-Exec files to set the GEOS
clock during the boot process with no
user intervention,
So there it is. As a GEOS user you
are not going to be too badly affected
by the Y2K problem. What we need to
erradicate is the Y88 problem and, as
you see, it is an easy one to stomp on.
Until next time, enGEOy your
Commodore!
®)
COMMODORE WORLD
Carrier Detect
By Gaelyne R. Gasson
TELECOMMUNICATIONS NEWS & UPDATES
Bulletin Board News
Looking for BBS's to call? Dick Cunningham
(oasis@pipeline.com) has been maintaining
the Commodore 64/128 BBS List (http;//
www.jbrain.com/pub/cbm/faq/cbm-bbs-
list.txt), covering only those BBS’s which are
up and running. The list is posted twice a
month to the comp.sys.cbm newsgroup.
Another verified list contains boards that
support Commodore computing but are run
on other platform computers (http://
wiv. jbrain.com/pub/cbhm/lag/chm-supp-bbs-list.txt).
Try a SuperCPU BBS
Ifyou don’t already have a SuperCPU, you can experience what using
one is like by phoning a Commodore BBS and checking out the speed
of the system, The following boards are run on either the C64 or C128
and operate at 20 MHz.
BBS Name Phone Number Location BBS/Network Software
Kapital K’pers (941)-656-5613 N, Fort Myers, FL Image/CommNet
The Mailbox (610)-834-9694 Conshohocken, PA Image/CommNet
Star Base 2 (041)-748-6618 Bradenton, FL Color 6¢
OMNI-World-Germany +49-8121-971942 Gelting, Germany OMNI BBS
Fidonet BBS’s on the Internet
Many people have problems finding a local Fidonet BBS that carries
the CBM Fidonet echos, but the good news is that there are Fidonet
boards that can be reached using telnet on the Internet. In order to
transfer files using regular protocols during your telnet session (such
as when using a QWK door to transfer mail), the command to start the
session should be in the format of “telnet -8 bbsname”. Try these BBS’s
available via telnet: bbs.neverending.com, cereal.my.com, and
juge.com. Ifyou have web access, but don’t havea telnet client that can
COMMODORE WORLD
32
perform file transfers, you can read Fidonet
messages directly via web pages at http://
twww.stafinet.com/echos/content.html-ssi,
See hetp://videocam.net.au/~gaelyne/
cbmfido.html for additional info.
Desterm v3 in Wide-BETA Testing
Matthew Desmond has been busy, and
released two wide beta versions (at the time of
this writing) of Desterm v3 with another
update coming soon, Desterm v3 is compatible
with CMD devices, the Turbo-232 UART cartridge (up to 115200
baud). It supports 2 Megabytes of RAM Expansion, has RTS/CTS
(hardware) flow control, and Zmodem (receive-only at present), and
includes a new character set editor as well. The latest update is always
available from the Official Desterm 128 Web site at http://
www. ionline.net/~mdesmond/desterm.html (Files: undar128.exe,
des-302.da0, des-302.dal, des-302.da2, des-302.da3, des-302.da4).
Dialogue 128 Freeware
Gary Farmaner recently announced in the comp.sys.cbm newsgroup
that his software, Dialogue128 is now freeware. New users of
Dialogue128 should be made aware that they must use the disk side
that corresponds to their modem interface type (side one is for user
port modems and interfaces, while side two supports SwiftLink and
similar interfaces). Also, unless your modem has been previously set
with &C1 (carrier detect follows carrier) as a default, the program
won't allow you to dial out or send any commands. If you experience
either of these problems, then while in the terminal window type three
plus symbols ("+++") and then press <RETURN> very quickly; this
will place your modem into its command mode. Type AT&C1&W to
change the modem’s default setting for carrier detection and save it to
the modem’s NVRAM (Non-Volitile Random Access Memory). You
can get all of the files for Dialogue 128 at ftp://videocam.net.au/chm/
Issue 23
The New Standard in Modem Interfaces
High-Speed Support 7urbo232 keeps
up with today’s fastest modems,
offering speeds up to 230Kbps
Easy-to-use! Just plug Turbo232 into
your computer’s expansion port and
connect it to. almost any external
RS-232:modem
SwiftLink Compatible Designed to
work with programs written for the
popular SwiftLink cartridge
Easy Configuration A simp/e jumper
block lets you quickly change the
configuration for special situations
Nall Transfers May be used as a null-
modem interface for direct transfers
with other computers
The quest for faster online access has made33,6Kbps modems
the new standard, and it won't be long before 57.6Kbps.
modems move into the spotlight. CMD's Turho232 picks up
where SwiftLink left off, helping you.keep pace with today’s
Faster modems!
Turbo232|
HIGH SPEED MODEM INTERFACE :
Maradactured and dairbaaed by Crestve Micro Designs, Inc. BH
‘Copyright © 1997 Creative Micro Designs, Inc.
US Robotics Sportster
°33.6Kbps Faxmodem
° Upgradable to 56Kbps
«Compatible with geoFAX
¢ Perfect for use with Turho232
Turbo232 $39.95
Modem Cable $9.95
Turbo232/Novaterm 9.6 $65.00
USR Sportster 33.6Kbps Faxmodem $169.00
Turbo232/USR Sportster 33.6 $199.00
Turbo232/Sportster/Novaterm 9.6 $214.00
Note: Prices do not include shipping. Prices and specifications are subject to change
without notice. Not responsible for typographical errors.
Creative Micro Designs, Inc.
1-800-638-3263
4.sfx, (side two of program “disk: ]
, dlg-s4-4.stx, [documentation files:]
dlg-doc1 sfx, dlg-doc?.stdlg-doc3.sfx, dlg-docd. sf).
PKZIP 2.04g Unzipper
Someone had to doit, and Errol Smith now has the distinction of being
the first and only Commodore programmer to create a program to
unzip those pesky PKZip 2.04¢ files. This 21 block program (after it
self-extracts) even supports CMD device paths. It’s essential for anyone
who's ever had to cope with Zip files created on other platform
computers that Bill Lucier and David Schmoll’s unzip programs
couldn't handle. This program also removes a major stumbling block
for offline mail reading (QWKie or QWKRR) with BBS's that
automatically send PKZip 2.04g mail packets. You can find the program
at hetp://www.ros.com.au/~errol/64.html (File: unzp6420.prg).
QWKRR128 v5.1
The first major update for QWKRR128 in over two years was released
last year. New features include a word search utility, MIME and
UUencoded files can be decoded to screen, disk or printer, and you can
attach text or binary files to outgoing messages using Base64 (MIME)
or UUencode. Messages of any size can be read, with reverse paging so
you can see previous screens of the same message. It also supports full
255byte character sets, and uses keyboard tables that can be
reconfigured for non-English users. Rod Gasson says he still has a few
improvements to make to the program before he considers it complete,
andis continuing work on it. You can get the latest version from http:/
/videocam.net.au/qwkrr/ (Files: QWKRR5-0.TXT, QWKRRS5-1.SEX,
QWKRRS-2.SFX, QWKRRS-3.SFX, QWKRR5-4.SFX, QWKRRS-
5.SFX).
Graphic, Text and File Conversions
GoDot http://users.aol.com/howtogodot/welcome.htm
Since there is no Commodore 64 or 128 graphical Web browser at this
point, we download graphics to view them offline. This has become
much easier with the new English version of GoDot (available from
CMD). GoDot lets us view GIF87a and GIF89a type GIF files, although
it doesn’t yet handle interlaced type GIF files. The demo version of
GoDotis fully functional with these exceptions: it doesn't save or print
files. Program author Arndt Dettke (god.ADettke@t-online.de) has
written new loader and saver files for compressed Doodle and Koala
files since the English commercial version became available, and is
also considering making a module to save GIF files. You can obtain the
demo version of GoDot from ftp://videocam.net.au/cbm/graphics/
GoDot/(Files: godotdm1.sfx, godotdm2.sfx, godotdm3.sfx). The new
compressed Doodle and Koala loaders and savers are also available at
this site (Files: doodle.ldr, doodle.svr, koala,ldr and koala.svr).
Another useful graphic utility is C2G.BIN (author unknown). It has
a simple name, but this little C64 utility lets us to convert Doodle,
Koala, Advanced Art Studio, GeoPaint (non-GEOS format) and RLE
files to GIF format. This is extremely useful for sharing our artwork
with others online and for creating graphics on our Web pages. This
program is available at ftp://videocam.net.au/chm/graphpics/
c2g.bin.
John Halloran saw a comment | made in one of the Fidonet echos,
took it to heart, and created QTT 64v2. At the time, there were no
stand-alone C64 programs available that would change the end of line
COMMODORE WORLD
34
format of text files. There are three different file formats that we
commonly deal with on the net (Commodore, MS-DOS, and UNIX),
and having a quick utility to deal with the end-of-line differences
would relieve a lot of headaches. The latest version of John’s QTT64
automatically detects the current format and offers a menu of
conversion choices. The program can also convert ASCII files to
PETASCII format. You'll find this program at http://videocam.net.au/
qtt64/ (File: qtt64v2.sfx).
GEOS users with some net-saavy may find GeoConvert 97 very
useful. This is a German GEOS program written by Markus Kanet
(106744.730@compuserve.com) that converts GEOS files to CBM
format (and vice versa), Uuencode, and D64 files. The documentation
and program messages have been translated to English by Arndt
Dettke. You'll find this program and associated documentation at
ftp://videocam.net.au/cbm/geos (Files: conv97d.sfx, conv97d-
english.txt, conv97d-msgs.txt).
Commodore Mail List Updates
Nick Rossi started the Novaterm Mail List to provide Novaterm users
with a way to share comments, questions, and answers with each
other. To subscribe to the list send Email with a subject of “subscribe”
to: novaterm-list@eskimo.com
Jim Brain's list services have recently grown to encompass two more
mailing lists (SCPU and TIFCU). Among the lists available are:
ListName — Topic
scpu MD's SuperCPU's. Moderated/Owned by Dick Cunningham.
tifeu The Internet for Commodore Users. Moderated/Owned by
Gaelyne Gasson.
comp.sys.cbm newsgroup*
comp.binaries.cbm newsgroup*
comp.emulators.cbm newsgroup*
C=Hacking Magazine (sent when new issue is available).
FAQ file for comp.sys.cbm newsgroup (sent when the FAQ is
updated).
news-csc-dist
news-cbc-dist
news-cec-dist
chacking-dist
cbmfaq-dist
“Note: To keep list traffic to a minimum, only those who have no other access
to Usenet newsgroups should subscribe to these lists,
To subscribe to any of these lists, send Email
listserv@mail.jbrain.com, and in the body of the message type:
to
subscribe listname Firstname Lastname max-lines-per-Email(optional)
Example:
subscribe tifeu Gaelyne Gasson 1000
The list name should be in lower case. If you set the max lines per
Email, the list digest will be split up into separate messages until the
entire digest has been sent. If this is left unspecified, the entire digest
is sent. To find out what other lists are offered by Jim's list server, send
an Email to listserv@mail.jbrain.com with the word “lists” as the
message body.
Another interesting mail service is the File Converter provided by
Aaron Baugher (abaugher@rnet.com). While this isn’t a mailing list,
it is a useful Email service provided for Commodore users that will
convert certain types of files. The service converts .jpg files (a graphics
Issue 23
file format) into .gifformat, and zip files into .tar.gz format (for those
who don’t have access to the UNIX unzip program). Aaron developed
the system in response to messages in comp.sys.cbm, and in the
Commodor and TIFCU mailing lists, as a means to assist those who
don’t have access to other means of converting these file types. To find
out how to use this service, send Email to cfe@haruchai.rnet.comwith
the word “help” as the Subject.
IRC Channel Update
A few Commodore IRC channels have changed IRC servers, or times
when they are av:
Issue #17. Here
they're open for visitors:
ilable since we last discussed this subject back in
in updated list of channels, IRC servers, and when
Channel —_ Network Day/Time
#c-64 IRCnet 24hrs a day
#e-64 Efnet 24hrs a day (active N.American afternoon)
#c64ntsc —-IRCnet Thursday Evenings PST
#e-net Dalnet Sundays starting at 3pm EST
#QWKRAR Dainet Thurs Evenings 9pm (N.American EST)
Online Commodore News for Newsletter Editors
This service came about due to a request by Dale K. Sidebottom. He
suggested to Jim Brain that a repository for Commodore newsletter
articles would benefit many User Group editors who need fresh
material. It also helps editors avoid re-typing and scanning errors that
can creep into monthly news reports, and should help editors when
creating newsletters based on a particular theme. Each participating
editor will submit one article each month, and in return they receive
all the articles submitted by other editors during the month. Graph
special files and other items c tached to the articles. Jim plans
to include Email and Web search, as well as other additions to the
system, You'll find this service at Attp://wvww.jbrain.com/vicug/
cnews/.
Wrap Up
Jim Brain's Commodore News plan relies on newsletter editors for it
work, so if you're online but your newsletter editor isn’t, perhaps you
can get permission from your club to help out and build a few online
bridges. In fact, everything mentioned in this column relies on you to
make these things a success, from the BBS's that support us to
programmers producing new software. It never hurts to let an author
know how much you enjoy their program, or thank a sysop for making
their BBS available.
i)
Gaelyne Gasson is the author of “The Internet for
Commodore C64/128 Users” and can be contacted via
Email at gaelyne@cmdweb.com or visit her web site at:
http://videocam.net.au/~gaelyne.
P.O. Box 1817
CPU Shelton, WA 98584
The Commodore 128/64 Power User Newsletter
CPU is a bi-monthly publication that for two
years has kept its readers abreast of new
developments and helped those to get more
out of their investments,
$3.50
$15,00 (US)
$21.00 (US)
$27.00 (US)
Sample/Back Issues:
6 Issue Subscription;
Canada/Mexico:
Foreign:
Commodore World Back Issues
cw1 Commodore World Issue 1 CW12 Commodore World Issue 12
cw2 Commodore World Issue 2 CW13, Commodore World Issue 13
cws Commodore World Issue 3. CW14 Commodore World Issue 14
cwa Commodore World Issue 4 CW15, Commodore World Issue 15
cws Commodore World Issue 5 CW16 Commodore World Issue 16
cw6 Commodore World Issue6 = CW17 Commodore World Issue 17
cw7 Commodore World Issue 7 CW18 Commodore World Issue 18
cws Commodore World Issue 8 =CW19 — Commodore World Issuo 19
cwo Commodore World Issue 9 CW20 — Commodore World Issue 20
CW10 — Commodore World Issue 10 CW21 Commodore World Issue 21
cwit Commodore World Issue 11. CW22 Commodore World Issue 22
Shipping: U.S. and Canada $2.00 for first ssue, plus
$1.00 per additional issues.; Foreign $5.00 per issue,
TO ORDER CALL 1-800-638-3263
Issue 23
35
NOW AVAILABLE
The new operating system upgrade
for GEOS 64
Now you can have proper support for
all your CMD devices
Wheels 64 requires the following
GEOS 64 V2.0
1541 for the initial installation
Ram expansion (most types supported)
Only $36
send check or money order to
us $4 for shipping and
Fandling to Noah American
addresses or $6 elsewhere
For more information phone:
Click Here Software Co. 1.517-543-5202
P.O. Box 606 or visit www.people.delphi.com/arca93
Charlotte Ml 48813
Wheels 128 will be introduced at the Chicago EXPO on October 24th
COMMODORE WORLD
eis BEAT
By Mark Fellows
Programming the 65C816 can be a real pleasure. The new instructions,
addressing modes and 16-bit capability all make life easier for the ML
programmer. Writing a program in ‘816 Native Mode almost always
results in code that is faster and smaller than the 6502 equivalent. As a
result, it made sense to utilize as many of the new features as possible when
writing the CMD SuperCPU DOS. During the debugging process, we
learned about some pitfalls that can catch even the experienced 6502
programmer unaware. In fact, experienced 6502 ML programmers may be
more susceptible to some of the things we'll cover in this article. As we
found out, knowing the 6502 inside and out can lead the programmer to
make certain incorrect assumptions about the operation of the 65C816. In
this article we will cover some of the things that programmers need to
beware of as they enter the domain of the 65C816.
BIT Immediate
At first glance, this new addressing mode for the BIT instruction seems
pretty exci ‘iting. Our first thought was: great! now we can easily check the
sof Bits 7 & 6in the accumulatoras well asa third bit witha simpleand
cleinstruction. The example below should test Bits 7, 6 and 0 (we
thought):
BIT #%00000001
We assumed that the new BIT Immediate addressing mode would work
exactly like the other BIT addressing modes carried over from the 6502 (BIT.
Zero Page and BIT Absolute). In other words, asa result of executing a BIT.
instruction, the Negative (minus) flag should beset if Bit 7 ofthe
accumulator is a 1 and the Overflow flag should be set if Bit 6 is a 1. In
addition, the Zero flag should be set or cleared according to the result of a
logical AND between the contents of the accumulator and the operand. In
the example above, the Zero flag would beset ifBit 0 oftheaccumulator was
a0and cleared if Bit 0 wasa 1. Without checking the 65C816 programmers
reference, we went ahe d used the BIT Immediate instruction in our
programs. After some fruitless debugging time and head scratching, we
decided to check the reference guide just in case something worked
differently with the new addressing mode. Surprise! There is a difference
with BIT Immediate (actually two differences):
Immedis
1. BIT Immediate does not set the Overflow flag according to Bit 6 of the
accumulator (Overflow remains unchanged).
2, BIT Immediate does not set the Negative flag according to Bit 7 of the
accumulator (the Negative flag remains unchanged).
In other words, only the Zero flag is affected after a BIT Immediate is
executed—you cannot use a BIT Immediate instruction to test three bits at
COMMODORE WORLD
36
THINGS TO LOOK OUT FOR
WHEN PROGRAMMING
THE 65816
once like you can with the other two BIT addressing modes (Zero Page and
Absolute). However, BIT Immediate provides the 65C816 programmer
with a quick and easy way to test any individual bit in the accumulator
without disturbing the accumulator contents, Individual bits can be tested
with the other BIT addressing modes only ifan eight-byte table is included
in the source code. For nple, a 6502 program capable of testing any
accumulator bit would require the following code:
Ofcourse, includingan 8-byte table isnota large penalty to pay, butifthe
table is located above zero page, each BIT absolute takes 4 cycles to
execute—twiceas long as the 65C816 BIT Immediate instruction.
time can be cut to 3 cycles by locating the table in Zero Page, but this wastes
valuable Zero Page resources.
one more thing to remember about the BIT instruction on the
ive mode: Ifyouare using 16-bitaccumulator/memory, then
and BIT Absolute test bits 15 and 14 of the operand memory
location (Bit 15 affects the Negative flag; Bit 14 affects the Overflow),
Because 16-bit memory accesses are organized in high-byte - low-byte
order, Bits 15 and 14 are located at Bits 7 and 6 in the first byte of the
memory location. As a result, the following BIT Absolute instruction sets
both the Negative and Overflow flags in both 8 and 16 bit modes:
There
65C816in.
80000 000
Ifyou are testing bits in the accumulator with BIT Immediate in 16-bit
mode, you must remember to use a 16-bit operand, Bits 0-7 are located in
the .A register; Bits 8-15 are located in the .B register. The following
example tests Bit 12 of the 16-bit accumulator (Bit 4 of the .B register):
BIT #%0001000000000000
Issue 23
The STZ Instruction
STZisone ofthe most useful new 65C816 instructions. Itallo
a memory location without first loading the accumulator with 0, which
provides many benefits for the machine-language programmer. The first
and most obvious advantage of using STZ is that the contents of the
accumulator is left untouched. Ina worst-case scenario, the following 6502
code is required when a memory location must be cleared while retaining
the contents of the accumulator:
PHA ;SAVE .A ON STACK
LDA #§00 ;LOAD .A WITH 00
STA LOCATION ;CLEAR THE MEMORY LOCATION
PLA +RESTORE .A
The same thing can be achieved on the 65C816 by using a single STZ
instruction:
STZ LOCATION
#CLEAR THE MEMORY LOCATION
‘These examples make clear the other advantages of. smaller code
sizeand speed. Assuming the memory location resides above zero page, the
6502 example requires 7 bytes of code space, while STZ requires only 3—
taking up less than half the space. Even ifthe accumulator contents did not
have to be saved, thus eliminating PHA and PLA, 5 bytes would still be
required in the 6502 example. The advantage in speed is even greater, with
the 6502 code requiring 13 cycles to execute compared to only 4 cycles for
the STZ instruction on the 65C816 (a speed increase of over 3x).
Ifa 16-bit memory location is to be cleared, the contest becomes even
more lopsided, requiring the following 6502 code:
PHA
LDA
STA
#500
LOCATION
STA LOCATION+1
PLA
Assuming the 65C8 16isin 16-bit memory/accumulator mode, the same
thing can again be achieved by a single STZ instructioi
OCATION TION
16-BIT LOC#
In this comparison, the 6502 code takes up 10 bytes of space and 17
cycles of execution time (again assuming the memory location resides
above zero page). The 16-bit STZ on the other hand still takes up only 3
bytes of space and executes in just 5 cycles.
Allinall, STZ isa great instruction for saving time and code space. There
are, however, a few things to be aware of:
1. STZ has only four addressing modes available: Direct (Zero) Page,
Absolute, Direct Indexed with X, and Absolute Indexed with X. This
limits the use of this instruction to locations in Bank 0 (Bank 1 is also
accessible through the use of Absolute Indexed with X addressing ).
2. Experienced 6502 programmers beware! Unlike all other 6502/
65C816 instructions that store data to memory (i.e. STA, STX, ete.),
STZ AFFECTS THE PROCESSOR STATUS REGISTER. Executing a
STZ instruction always clears the Negative Flag and sets the Zero
Flag.
Issue 23
37
Absolute Indexed Addressing
For the most part, this 65C816 addressing mode works identically to the
way it does on the 6502. There is one case, however, that can cause
problems if the 65C816 programmer is not aware of it. We discovered this
difference while trying to find the reason why a certain demo program
written for the C64 would not run on the SuperCPU, We fi arched for
unimplemented 6502 opcodes (always guaranteed to cause the ‘816 to
choke), but found none. Wealso tried running the demoat IMHz—again,
no luck. However, a ‘snapshot’ copy of the program would run on the
SuperCPU. This led us to check the programs initialization routine. The
only unusual thing was this routine that sets up the interrupt vectors and
some Zero Page locations:
sINIT
- ; LOAD 'H VALI
;STORE TO MEMORY USING
; ABSOLL ADDR.
; $0009
DONE
After looking closely, we realized that the STA $FFFA,X instruction
‘wrapped around’ to address $0000 after the .X register hadincrementedto
6 . This was the programmer's intention of course—he was saving code
space by using a single loop to set the interrupt vectors and some locations
inzero page. Could this routine somehow bethe problem on the SuperCPU?
After some testing, we found the answer Ifwe split the routine into
two parts so that it did not wrap around, the program worked fine on the
SuperCPU. The reason had finally become clear—even while in 6502
emulation mode, the 65C816 indexes into the next bank instead of wrapping
around when Absolute Indexed addressing is used. In other words, the
65C816 filled the address range $010000-$010009 instead of $000000-
$000009 when the code given in the
mple above was executed.
Read-Modify-Write Instructions
Here's another issue that use trouble for the experienced C64 ML
programmer. A favorite trick of C64 demo codersisto useasingle instruction
like LSR $D019 to clear the VIC IRQ. Almost all demo coders use this
shortcut, although perhaps only afew know why it works. You see, in order
toclear the VICIRQ, a'l’ must be written to the correct bit in the interrupt
status register at $D019. At first glance, it would seem that LSR $D019
would probably never clear the correct bit. Logic dictates that a two-
instruction sequence would be needed. For example, LDA $D019 followed
by STA $D019.
So why does LSR $D019 work? Be
se the 6502 actually writes to the
rst write cycle the
target address Cwice during the instruction! During the
6502 writes an $|
o the target address, The final value is not written until
xploit this little known fact by using
nterrupt (writing $FF to $D019 will
clearall VIC interrupt sources). The invalid $FF write cycle is something all
6502 programmers should be aware of when addressing any hardware
register with a Read-Modify-Write instruction.
In Emulation mode, the 65C8 16 executes the invalid write cyel
the 6502. In Native mode however, the designers of the '816 decided to
makean improvement and eliminate this cycle. Asa result, 6502 programs
that usea Read-Modify-Write instruction to accessa hardware register may
not work on the 65C816 in Native Mode.
just like
Pa
2
COMMODORE WORLD
Over The Kdge
By Jeffery £. Jones
COMMODORE PROGRAMMING
You own a SuperCPU and you've written a
complicated program that runs “just right” in
20 MHz mode. Now you want to upload your
program to everyone on the Internet or sell it
toa company like Loadstar. I say that perhaps
you should try your program in 1 MHz mode
first. Fine tune it until it’s at least passable at
the stock C-64 speed before you call it finished.
Ican assure you that “just right" in 20 MHz
mode is way too slow in 1 MHz mode—and
too slow is too bad for any program.
While developing 21st century Commodore
programs for our SuperCPUs, we should keep
inmind that there
are many Commodore users
who still appreciate efficient conscientious
coding.
Judi, while testing Legal Beagle I/Nast week,
came into my office to tell me that it had
crashed while formatting text. Much of the
program was written in BASIC, but the BASIC
part seemed fine with the SuperCPU engaged.
When we returned to her office, we saw that
the program was still operating and hadn't
locked up. Unfortunately, it ran so ridiculously
slow at 1 MHz that Judi thought it had locked
up. Ten or so seconds for me translated into
minutes for her. Garbage collection that [had
never even noticed before was obvious at the
slower clock speed.
At that, [went back to my office and in three
minutes wrote an ML routine that sped up the
COMMODORE WORLD
IN A SUPERCPU WORLD
process. I also smartened-up the BASIC
counterpart, making its job less recursive and
at least six times faster. I was guilty of writing
“passable” code for my SuperCPU.
A program that's passable on a SuperCPU
gets a failing grade on a stock C-64, Now that
I have been conscientious toward 1 MHz
users, my program is even better for
SuperCPU users, because you enjoy the
efficiency increase in both modes. Anyone
programming for the public should try out
their program in the slow mode. If we don't do
this, we may inadvertently kill the C-64 while
it's down by alienating everyone but the
SuperCPU crowd.
Programmers all over C-64 land are talking
about how the SuperCPU will change how they
will program in the future. A number of people
whom I respect have made incredible
statements that they will probably not
program in machine language so much
anymore—that they will begin writing
programs in BASIC and then compile them.
Afterall, compiling.a BASIC program makes it
run 5-30 times faster, Couple that with a
SuperCPU and it’s running 100 to 600 times
faster than in BASIC on a stock C-64.
Buta 100% machine language version might
run 500 to 1000 times faster than a BASIC
version ona stock 64 and even 10,000 to 20,000
times faster than stock BASIC with the
38
SuperCPU engaged. Which program would
you rather write? Which would you rather
use?
I have already proven this to myself. Last
year I wrote a BASIC program that scanned
for articles in an issue of C=Hacking,
separating them off into smaller files that a
C-64 could handle, This particular issue of
C=Hacking was too large to fit on a 1541 disk.
I wanted my program to scan the files for
article names and then save the articles, using
the article title as a filename. Compiled, it
took an incredibly long time to separate the
files, even with the SuperCPU engaged.
Incredulous, I stopped the program and
rewrote it so that it also echoed to the screen
to show its progress. It was going through the
file at a pace slow enough to read as it scrolled
by. | was doing this on my hard drive with
parallel access. The turbo light was pretty
much on all the time, but there was a slight
flicker. I knew that some small fraction of the
work time was being performed at 1 ME
Figuring I could save a lot of time, I copied
the hacking file to my RAMLink and had the
SuperCPU work on it there. Now the Turbo
light was on 100% of the time. Still, 1 was
disappointed. It was taking forever.
Lallowed the program to sort the articles on
a spare C-64 and a 1581 while | re-wrote the
program, line-by-
ine, in machine language
Issue 23
<A pro
a f
pro
program
(using the BASIC predecessor asa guide). This
program wasn’t as efficient as it would have
been had I written it from scratch instead of
manually compiling it into machine language,
The moment I typed SYS49152, I saw the
first filename being saved on the destination
disk—then the second, the third, anda minute
or two later it was finished! This same
algorithm separated the issue into smaller files
in about the time it would take the built-in
JiffyDOS file copier to copy the file—with or
without SuperCPU! This was somewhere
around twenty blocks per second. The
compiled BASIC program took at least half an
hour ona JiffyDOS-equipped 1581. Mind you,
all of Loadstar’s systems are JiffyDOS
equipped. I can only imagine the agony if I
tried the compiled program on an 800-block
file without JiffyDOS. Without a SuperCPU
and a RAMLink, the ML program could get
the job done in maybe a minute or two with
JiffyDOS. Clearly, even the most optimized
compiled BASIC at 20 MHzcan'tholda candle
to machine language at 1 MHz.
You might ask how we lose when a veteran
programmer hangs up his assembler and
writes perhaps more elaborate programs in
BASIC. Well however you look at it,
abandoning ML for the pseudocode of most
Commodore compilers is a net lo
especially for the people without SuperCPUs.
When you think aboutit, the ML programmer
who switches to BASIC or compiled BASIC
because of the added speed of the SuperCPU is
offering a product that runs 100 or so times
slower than the ML version in the hopes of
having the program run 20 times faster on the
SuperCPU.
Imagine if Eric Lee decided that his next
incarnation of The Write Stuffcould be written
in compiled BASIC. It would probably seem
fast enough for most short letters without
machine language. I know because I wrote
Feedback Machine—published on every issue
Issue 23
of Loadstar—in compiled BASIC, with only a
little ML for the scrolling window. It’s “okay”
for jotting a note to us, but not for serious
applications. With the SuperCPU it seems to
dle any amount of text in its buffer as if
weightless. As a matter of fact, I don’t even
need ML to scroll the screen re-printing... the
whole screen works fine for a compiled
program. But without the SuperCPU, you see
the unprofessional inchworm effect.
If I assumed that everyone who used it
owned a SuperCPU, I could easily add all sorts
of ambitious word processor features to it.
People with SuperCPUs would appreciate the
features. People without it would call the
program clunky for overreaching its scope.
Too slow is bad for any program. In contrast
to Feedback Machine, The Write Stuffis fine
for short letters as well as 100-block
applications—with or without a SuperCPU—
because it was written in 100% Machine
nguage. With the SuperCPU, it’s truly
marvelous.
Anyone who has written stories with
Speedscript or The Write Stuff knows that
once you get around 80 blocks, you don't want
to type anything up near the top of the
document. Each inserted character takes
nearly a si
cond to show up. It becomes very
a good typist to type ahead of the
keyboard buffer. With the SuperCPU engaged,
you notice no delays, and the text seems
weightless right down to the last byte. If the
program were written in compiled BASIC, this
marvelous weightlessness would be lost—even
in 20 MHz mode.
While it’s true that programs seem to fly
with the SuperCPU engaged, that’s no reason
to abandon all the efficient: programming
practices that a 1MHz 64K computer has
forced us to adhere to all these years. Ignoring
this warning will spiral Commodore 64
programs into the abyss of mediocrity that
Windows has suffered from.
39
v » public should try
the slow mode.”
Fortunately we have memory restrictions
that keep us from using all-inclusive libraries
that make our final program so large that we
need megabytes to fit them in memory.
However, we are still vulnerable toa quantum
shift toward less efficient programs,
Undoubtedly these slower programs will have
a larger scope, but l implore all programmers
out there to make their programs as fast as
possible. These slower programs will be decent
on SuperCPUs, but will be ridiculously slow
ona stock unit, Any sort of file utility must be
written in machine language for it not to seem
a complete joke.
In closing, there is certainly a place for
compiled code in the future. am in fact writing
a very complicated program that (ouch)
compiles toolbox commands into pure
machine language. I’m writing it in BASIC
because it’s so intricate, and will | will compile
it when it's done. I will not, however, allow my
compiler to take more than a few moments to
compile a program of only a few blocks. Right
now, in BASIC, it takes minutes to compile a
three-block program. Compiled, the process
isn’t much faster. Adding machine language
to the parsing and disk access routines will
easily make my next project just what I want
and need.
Nowis the time to takea cue from our demo-
coding friends, These are people who strive to
write fast, tight code. I want to see incredibly
fast programs running on SuperCPUs. I want
to see people striving to get their subroutines
down below one millionth ofa second, instead
of settling for a thousandth of a second. In a
complicated loop, a thousandth of a second
adds up to seconds of waiting time very
quickly. If we strive for the same efficiency
that Commodore users are accustomed to, we
will not only keep the stock users happy; we'll
write extremely impressive code for the
SuperCPU.
©
COMMODORE WORLD
* CLASSI
C-128-2 DRIVES-MONITOR-PRINTER-RAM XPANS-MODEM-
ion is $17.00 for 12 issues [US], $19.00 Canada, Mexic:
and South America;$21.00 elsewhere. Input
Journal. Email wepat@iglou.com or write:
GEOS Publication
7969 Woodcrest Dr.
Louisville, KY 40219-3859
\dresource
COMMODORE WORLD
Classified Advertising
Commodore Worldsubscribers may place non-commercial
classified advertising in Commodore World at a cost of
$10.00 per issue. Your advertisement may contain up to
150 characters (including spaces). Send your
advertisement with paymentto: CW Classified Advertising,
c/o Creative Micro Designs, Inc., P.O. Box 646, East
Longmeadow MA 01028-0646.
ls your Commodore World subscription close to ‘a
running out? Here's an easy way to check: look at the mailing label on the
front of your copy. You'll find your subscription number and the expiration
issue number. For example:
Don’t wait until it’s too late...
; Smith
1
Jim's subscription will run out with Issue 24 as indicated by the
EXP24 in his subscription code. Jim would be wise to re-subscribe
early to avoid missing a single issue of Commodore World!
COMMODORE WORLD 40
ADVERTISERS
INDEX
Centsible Software...
Click Here Software .
Commodore Country...
Commodore Power User Magazine
Commodore World
Computer Bargain Store ....
... IFC,11,20-23,25,33,40,IBC,OBC
GEOS Publication .... . 40
J.P. Products by Mail
Loadstar
LUCKY/KDS.....
Meeting 64/128 Users Through The Mail
Raymond Computer.
Videocam Services ..
Vintage Computers
ChAD Service Center
AFFORDABLE ¢ FAST « DEPENDABLE
Call Today 1-800-638-3263
Our Team of Technicians are Among the
Most Qualified in the Industry!
hy Settle for Anything Less Than the Best?
We repair the following equipment: Commodore C-64, 64C, SX-64, C-128
and C128-D computers; 1541, 1541C, 1571 and 1581 Disk Drives plus
CMD Devices. JiffyDOS Installations a specialty. All repairs warranted for
30 days. Minimum charge $35.00 plus parts and return shipping. You must
contact CMD for authorization before sending any equipment.
ive Micro Designs, Inc. P.O. Box 646 E, Longmeadow, MA 01028
Don’t forget
COMMODORGe
ALD!
Please call or write with your change of
address 6 to 8 weeks prior to your move so
that you won't miss a single issue!
CW Adaress Change, P.O. Box 646,
E. Longmeadow, MA 01028
413-525-0023
Issue 23
Shatter
the 1MHz
Barrier
i
~ -THESUPEREPU INCREASES YOUR;COMPUTERS = —
PROGESSING: SPEED BY MORE THAN 20 TIMES!) SIMPLY,
PLUG IT:INIAND WATCH OLD PROGRAMS COMETO LIFE
AND-BEGIN/DREANING (ABOUT THE POWERFUL NEW) GENERATION
OF SUPEROPU COMPATIBLE SOFWARE FOR 19970
Programs will suddenly spring to life—screens and menus *
pop up instantly, scrolling becomes fluid, and graphics fly. A
Commodore equipped with the SuperCPU is like having a
Volkswagen with a V-8, There's one small exception—the
SuperCPU rides much smoother. Even though the SuperCPU
gives your computer a radical increase in horsepower (up to
22 times faster), its operating system makes that power
usable by maintaining compatibility with most existing
software and making its operation transparent to the user.
Looking to the future, the powerful 65816 microprocessor gives
programmers vast new resources to create powerful and
sophisticated software. With its 16-bit registers, up to 16 MB of
system memory, and 6502/6510/8502 emulation, the
SuperCPU makes it easy to enhance existing software as well
as providing the power to create Internet browsers, animation
and other high-tech applications! The SuperCPU provides a
bright future for a new generation of Commodore computing.
So join the Commodore revolution and order a powerful new
SuperCPU TODAY!
SurenCPu G4 $199.00*
SuPenCPwl 128 $259.00*
* Plus Shipping
What will the SuperCPU do for me? Ultra Fast * Compatible «
Easy-to-use
High-Speed microprocessor, 128K or 256K of fast RAM,
advanced hardware logic, and up to 512K ROM enable
you to run all types of existing commercial software at
speeds up to 22 times faster than stock machines.
BASIC programs, including most Bulletin Board Systems,
seem to run as fast as machine language, and compiled
BASIC programs run faster than ever!
Commercial machine language programs (databases,
spreadsheets, word processors, telecommunications,
graphics, etc.) run so fast that you'll think your running
them on another computer!
GEOS comes alive—No typing or scrolling delays, graphic
operations happen instantly, faster printing and disk
access! Includes enhanced GEOS setup utility!
Easy-to-use: Plug it into your cartridge port** and start
working—no special adjustments needed.
Built-in JiffyDOS Kernal boosts disk access speed up to
15x faster with JiffyDOS equipped drives.
Pass-thru port provides compatibility with RAMLink,
SwiftLink, GEORAM, 17xx REU's and other cartridges.
Unit Enable/Disable, JiffyYDOS On/Off, Normal/Turbo, and
Reset switches make using the SuperCPU a snap!
|
|
|
|
The weit fis ever.
Have you been waiting for the most powerful image editing tool ever devised for
the Commodore 64? Are you ready for a program that not only converts between
many of the popular Commodore and non-Commodore image formats, but also lets
you combine images in a myriad of ways, and apply special effects? IF you answered
yes to these questions, then your wait is over. Prepare to be creative, to explore new
ideas, and to do the kind of things you thought you'd never do with a Commodore.
Combine Several Images Easily Convert Between Many Formats Dither Color & ava Images Apply Special Effects Like Cartoon To Any Image
program (Creators
Arndt Dettke » » Wolfgang King
dlisted! (nthe Untied stakes by
Creative Miao Desions, Inc)